summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/arabluatex/arabluatex.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-03-16 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2020-03-16 03:01:06 +0000
commitd50a41b6ab3d05fe5605a3a3b50ff68f61059296 (patch)
tree29468e087e9c19acf30b392dc705a54288d79137 /macros/luatex/latex/arabluatex/arabluatex.dtx
parent87cddce361c3b477029d13b27bdaa57190b2d74b (diff)
CTAN sync 202003160301
Diffstat (limited to 'macros/luatex/latex/arabluatex/arabluatex.dtx')
-rw-r--r--macros/luatex/latex/arabluatex/arabluatex.dtx95
1 files changed, 72 insertions, 23 deletions
diff --git a/macros/luatex/latex/arabluatex/arabluatex.dtx b/macros/luatex/latex/arabluatex/arabluatex.dtx
index 534271e52c..4d3fb48e01 100644
--- a/macros/luatex/latex/arabluatex/arabluatex.dtx
+++ b/macros/luatex/latex/arabluatex/arabluatex.dtx
@@ -27,7 +27,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{arabluatex}
%<*package>
- [2020/02/29 v1.18 An ArabTeX-like interface for LuaLaTeX]
+ [2020/03/15 v1.19 ArabTeX for LuaLaTeX]
%</package>
%
%<*driver>
@@ -88,6 +88,16 @@
location = {Toronto}
}
+@software{pkg:lua-ul,
+ title = {The Lua-ul package},
+ subtitle = {Underlining for LuaLaTeX},
+ author = {Krüger, Marcel},
+ maintainer = {Krüger, Marcel},
+ url = {http://www.ctan.org/pkg/lua-ul},
+ date = {2020-03-12},
+ version = {0.0.1}
+}
+
@MVBook{Wright,
author = {Wright, W. LL.D},
title = {A Grammar of the Arabic Language},
@@ -156,7 +166,7 @@
\babelfont{sf}{NewComputerModern Sans}
\babelfont{tt}{NewComputerModern Mono}
\usepackage{metalogox}
-\usepackage{arabluatex}[2020/02/29]
+\usepackage{arabluatex}[2020/03/15]
\SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this
\usepackage[nopar]{quran}
\usepackage[noindex]{nameauth}
@@ -259,7 +269,7 @@
%</driver>
% \fi
%
-% \CheckSum{1006}
+% \CheckSum{1014}
%
% \CharacterTable
% {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
@@ -2043,17 +2053,17 @@
% Arabic environments. In that case, \package{arabluatex} does not
% print the stroke as a distinctive mark over the number for it is
% not surrounded by other Arabic words. In case one nonetheless
-% wishes to print the stroke, he can either use the \cs{aemph}
-% command that is described below in \vref{sec:emphasis} or insert
-% the \arb[trans]{'ab^gad} number in |\arb[novoc]{}|:---
+% wishes to print the stroke, he can either use the \cs{aoline*}
+% command that is described below in \vref{sec:underlining} or
+% insert the \arb[trans]{'ab^gad} number in |\arb[novoc]{}|:---
% \begin{quote}
% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
% |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is
% \abjad{1874}.
%
% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
-% |\aemph*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874
-% is \aemph*{\abjad{1874}}.
+% |\aoline*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874
+% is \aoline*{\abjad{1874}}.
%
% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
% |\arb[novoc]{\abjad{1874}}| The \arb[trans]{'abjad} number for
@@ -2153,7 +2163,23 @@
% \arb[voc]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-`AdAt-i}}
% \arb[trans]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-\uc{`AdAt-i}}}.
% \end{quoting}
-%
+%
+% \subsubsection{Underlining words or numbers}
+% \label{sec:underlining}
+% \DescribeMacro{\aoline}%
+% \DescribeMacro{\aoline*}%
+% \DescribeMacro{\auline}%
+% \NEWfeature{v1.19}Three additional, non context-sensitive commands
+% are provided to distinguish words or numbers:---
+% \begin{enumerate}
+% \item \cs{aoline}, which is equivalent to \cs{aemph*} described
+% above.
+% \item \cs{aoline*}, which is the same as \cs{aoline}, but better
+% suited for \arb[trans]{'ab^gad} numbers.\footnote{See the example
+% provided above \vref{sec:abjad}.}
+% \item \cs{auline}, which can be used to underline Arabic words.
+% \end{enumerate}
+%
% \section{Arabic poetry}
% \label{sec:poetry}
% \NEWfeature{v1.6} \package{arabluatex} provides a special
@@ -2621,16 +2647,25 @@
%
% It is encoded |&| in Arab\TeX\ scheme.
%
-% In the following example, the \cs{uline} command would have
-% prevented adjacent Arabic letters from being connected if the
-% \enquote*{Zero width joiner} had not been used:---%
+% In elegantly printed books where many of the letters are interwoven
+% with one another so as to form ligatures, it may be convenient to
+% bring the letters into line in some instances. In the following
+% example, the \enquote*{zero width joiner} is used to prevent two
+% adjacent letters, viz.\ \arb[novoc]{s} and \arb[novoc]{.h}, from
+% standing one above the other in the name of \prname{'is.h_aq}
+% (\arb[fullvoc]{'is.h_aq"}):\footnote{\cs{underLine} and
+% \cs{highLight} are taken from the \package{lua-ul} package which is
+% loaded by \package{arabluatex}. See \textcite{pkg:lua-ul}.}---
% \iffalse
%<*example>
% \fi
\begin{example}
\begin{arab}[fullvoc]
- huwa 'abU zaydiN .hunaynu bnu 'is.h_aqa 'l-`a&\uline{&bA}diyyu
- bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
+ huwa 'abU zaydiN .hunaynu bnu 'is&\underLine{&.h_a}qa
+ 'l-`a\underLine{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
+
+ huwa 'abU zaydiN .hunaynu bnu 'is&\highLight{&.h_a}qa
+ 'l-`a\highLight{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
\end{arab}
\end{example}
% \iffalse
@@ -4363,8 +4398,7 @@
\RequirePackage{xparse}
\RequirePackage{adjustbox}
\RequirePackage{xstring}
-\PassOptionsToPackage{normalem}{ulem}
-\RequirePackage{ulem}
+\RequirePackage{lua-ul}
% \end{macrocode}
% The following boolean will be set to |true| in |RL| mode:
% \begin{macrocode}
@@ -4440,16 +4474,28 @@
% \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as
% well. The function is actually coded in Lua.
% \changes{v1.16}{2018/11/06}{Now uses \textsf{ulem}}
+% \changes{v1.19}{2020/03/15}{Now uses \textsf{lua-ul}}
% \begin{macro}{\aemph*} The \enquote*{starred} version of this
% command alway puts the stroke over its argument.
% \changes{v1.9.2}{2017/10/24}{Starred version which always puts the
-% stroke over its argument}As of v1.16 \package{arabluatex} uses
-% \package{ulem} to render the strokes, thus allowing line breaks
+% stroke over its argument}As of v1.19, \package{arabluatex} uses
+% \package{lua-ul} to render the strokes, thus allowing line breaks
% and manual hyphenation for transliterated Arabic.
+% \begin{macro}{\aoline}
+% \begin{macro}{\aoline*}
+% \begin{macro}{\auline}
+% \changes{v1.19}{2020/03/15}{Non context-sensitive command to
+% underline Arabic words is provided}\cs{aoline} and \cs{auline}
+% derive from \cs{newunderlinetype} provided by the \package{lua-ul}
+% package whereas \cs{aoline*}, which uses \cs{overline} in math-mode,
+% is better suited for so-called \arb[trans]{'ab^gad} numbers.
% \begin{macrocode}
-\def\oline{\@ifstar\@oline\@@oline}
-\def\@oline#1{\ensuremath{\overline{\mbox{#1}}}}
-\def\@@oline{\bgroup \ULdepth=-3ex \ULset}
+\newunderlinetype\@aoverLine{\leaders\vrule height 3ex depth -2.9ex}
+\def\aoline{\@ifstar\@aoline\@@aoline}
+\def\@aoline#1{\ensuremath{\overline{\mbox{#1}}}}
+\def\@@aoline#1{{\@aoverLine#1}}
+\newunderlinetype\@aunderLine{\leaders\vrule height -.65ex depth .75ex}
+\def\auline#1{{\@aunderLine#1}}
\AtBeginDocument{\ifdef{\aemph}%
{\RenewDocumentCommand{\aemph}{s m}{%
\IfBooleanTF{#1}{%
@@ -4466,6 +4512,9 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \begin{macro}{\arbcolor}\changes{v1.12}{2018/06/24}{Standard color
% command for Arabic environments}
% \cs{arbcolor}\oarg{color}\marg{Arabic text} takes the Arabic text to
@@ -4942,13 +4991,13 @@
\ifdefined\abjad%
\RenewDocumentCommand{\abjad}{m}%
{\ifbool{al@rlmode}%
- {\oline*{%
+ {\aoline*{%
\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
{\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
\else%
\NewDocumentCommand{\abjad}{m}%
{\ifbool{al@rlmode}%
- {\oline*{%
+ {\aoline*{%
\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
{\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
\fi}