aboutsummaryrefslogtreecommitdiff
path: root/arabluatex.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'arabluatex.dtx')
-rw-r--r--arabluatex.dtx82
1 files changed, 76 insertions, 6 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 93ce3a4..c5cf1da 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 [2016/12/17 v1.6 An ArabTeX-like interface for LuaLaTeX] 30 [2016/12/24 v1.7 An ArabTeX-like interface for LuaLaTeX]
31%</package-info> 31%</package-info>
32% 32%
33%<*driver> 33%<*driver>
@@ -145,7 +145,7 @@
145\defaultfontfeatures{RawFeature={+liga}} 145\defaultfontfeatures{RawFeature={+liga}}
146\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}, 146\setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps},
147 RawFeature={+mark;+ccmp;+ss05;+ss06}] 147 RawFeature={+mark;+ccmp;+ss05;+ss06}]
148\usepackage{arabluatex}[2016/12/17] 148\usepackage{arabluatex}[2016/12/24]
149\usepackage[nopar]{quran} 149\usepackage[nopar]{quran}
150\usepackage{varioref} 150\usepackage{varioref}
151\usepackage{hypdoc} 151\usepackage{hypdoc}
@@ -203,7 +203,7 @@
203%</driver> 203%</driver>
204% \fi 204% \fi
205% 205%
206% \CheckSum{0} 206% \CheckSum{697}
207% 207%
208% \CharacterTable 208% \CharacterTable
209% {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 209% {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
@@ -257,7 +257,7 @@
257% \pagebreak 257% \pagebreak
258% \listoftables 258% \listoftables
259% \normalsize 259% \normalsize
260% 260%
261% \begin{abstract} 261% \begin{abstract}
262% This package provides for \LuaLaTeX\ an Arab{\TeX}-like interface 262% This package provides for \LuaLaTeX\ an Arab{\TeX}-like interface
263% to generate Arabic writing from an \textsc{ascii} 263% to generate Arabic writing from an \textsc{ascii}
@@ -1320,6 +1320,7 @@ vowels (see §~3).
1320% \end{quote} 1320% \end{quote}
1321% 1321%
1322% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a diphthong} 1322% \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a diphthong}
1323% \label{sec:diphthong-alif}
1323% The diphthong is resolved into two simple vowels \parencite[i. 21 1324% The diphthong is resolved into two simple vowels \parencite[i. 21
1324% D--22 A]{Wright} viz. \emph{ay}~→ \emph{\u{a}\u{i}} and \emph{aw}~→ 1325% D--22 A]{Wright} viz. \emph{ay}~→ \emph{\u{a}\u{i}} and \emph{aw}~→
1325% \emph{\u{a}\u{u}}. \package{arabluatex} detects the cases in which 1326% \emph{\u{a}\u{u}}. \package{arabluatex} detects the cases in which
@@ -1656,6 +1657,75 @@ vowels (see §~3).
1656% \meta{n} prevents the necessary \arb[trans]{ta^sdId} rule 1657% \meta{n} prevents the necessary \arb[trans]{ta^sdId} rule
1657% (\cpageref{ref:necessary-tashdid}) from being applied. 1658% (\cpageref{ref:necessary-tashdid}) from being applied.
1658% 1659%
1660% \subsection{Putting back on broken contextual analysis rules}
1661% \label{sec:arbnull}
1662% \NEWfeature{v1.7} In complex documents such as critical editions
1663% where footnotes and other kind of annotations can be particularly
1664% abundant, the contextual analysis rules that are described above may
1665% be broken by \LaTeX\ commands. To take an example, consider the
1666% following:---%
1667% \iffalse
1668%<*example>
1669% \fi
1670\begin{arabluacode}
1671 This is wrong:
1672 \begin{arab}[fullvoc]
1673 fa-lammA ra'aW\LRfootnote{A footnote that interferes with the
1674 contextual analysis.} 'l-na^gma...
1675 \end{arab}
1676\end{arabluacode}
1677% \iffalse
1678%</example>
1679% \fi%
1680% According to the rule stated \vpageref{sec:diphthong-alif}, the
1681% diphthong in \arb[trans]{ra'aW} must be resolved into two simple
1682% vowels before the \arb[trans]{'alif-u 'l-wa.sl-i}, as
1683% \arb[fullvoc]{ra'aW 'l-na^gma}.
1684%
1685% \DescribeMacro{\arbnull} The \cs{arbnull} command is provided so as
1686% to put back on contextual analysis rules in such situations. It
1687% takes as argument the word that must be brought back for any given
1688% rule to be applied as it ought to. Depending on the contexts that
1689% have to be restored, \cs{arbnull} may be found just after or before
1690% Arabic words.%
1691% \iffalse
1692%<*example>
1693% \fi
1694\begin{arabluacode}[text only]
1695In any case, \emph{no space must be left} after or before the Arabic
1696word that \cs{arbnull} is applied to.
1697\end{arabluacode}
1698% \iffalse
1699%</example>
1700% \fi%
1701% The following shows how the Arabic should have been written in the
1702% preceding example and gives further illustrations of the same
1703% technique:---%
1704% \iffalse
1705%<*example>
1706% \fi
1707\begin{arabluacode}
1708 \begin{arab}[fullvoc]
1709 fa-lammA ra'aW\arbnull{'l-na^gma}\LRfootnote{A footnote that
1710 interferes with the contextual analysis.} 'l-na^gma...
1711
1712 qAla\LRfootnote{A footnote that interferes with the contextual
1713 analysis.} \arbnull{qAla}uhrub fa-lan tuqtala.
1714
1715 zayduN\arbnull{ibnu}\LRfootnote{A footnote that interferes with
1716 the contextual analysis.} \arbnull{zayduN}ibn-u
1717 `amriNU.\LRfootnote{See \vref{fn:zayd-is-son}.}
1718 \end{arab}
1719 \begin{arab}[trans]
1720 zayduN\arbnull{ibnu}\LRfootnote{A footnote that interferes with
1721 the contextual analysis.} \arbnull{zayduN}ibn-u
1722 `amriNU.\LRfootnote{See \vref{fn:zayd-is-son}.}
1723 \end{arab}
1724\end{arabluacode}
1725% \iffalse
1726%</example>
1727% \fi%
1728%
1659% \subsection{\texorpdfstring{Stretching characters: the 1729% \subsection{\texorpdfstring{Stretching characters: the
1660% \arb[trans]{ta.twIl}}{Stretching characters: the taṭwīl}} 1730% \arb[trans]{ta.twIl}}{Stretching characters: the taṭwīl}}
1661% \label{sec:tatwil} 1731% \label{sec:tatwil}
@@ -2939,7 +3009,7 @@ wa-ya.sIru ta.hta 'l-jild-i
2939% \begin{macrocode} 3009% \begin{macrocode}
2940\NeedsTeXFormat{LaTeX2e} 3010\NeedsTeXFormat{LaTeX2e}
2941\ProvidesPackage{arabluatex}% 3011\ProvidesPackage{arabluatex}%
2942[2016/12/17 v1.6 An ArabTeX-like interface for LuaLaTeX] 3012[2016/12/24 v1.7 An ArabTeX-like interface for LuaLaTeX]
2943\RequirePackage{ifluatex} 3013\RequirePackage{ifluatex}
2944% \end{macrocode} 3014% \end{macrocode}
2945% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning 3015% \package{arabluatex} requires \LuaLaTeX\ of course. Issue a warning
@@ -3345,7 +3415,7 @@ wa-ya.sIru ta.hta 'l-jild-i
3345% \end{macrocode} 3415% \end{macrocode}
3346% \end{macro} 3416% \end{macro}
3347% \begin{macro}{\arbnull} 3417% \begin{macro}{\arbnull}
3348% \changes{v1.7}{2016/12/23}{New \cs{arbnull} command for putting 3418% \changes{v1.7}{2016/12/24}{New \cs{arbnull} command for putting
3349% back on any contextual analysis broken by other commands.} The 3419% back on any contextual analysis broken by other commands.} The
3350% \cs{arbnull} command does nothing by itself. It is processed only 3420% \cs{arbnull} command does nothing by itself. It is processed only
3351% if it is found in Arabic context so as to put back on contextual 3421% if it is found in Arabic context so as to put back on contextual