aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arabluatex.dtx151
-rw-r--r--arabluatex_voc.lua5
2 files changed, 154 insertions, 2 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index 736c44d..7f5246c 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -1932,6 +1932,153 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
1932% \end{arab} 1932% \end{arab}
1933% \SetTranslitConvention{dmg} 1933% \SetTranslitConvention{dmg}
1934% 1934%
1935% \section{Buckwalter input scheme}
1936% \label{sec:buckwalter-scheme}
1937% \NEWfeature{v1.4} Even though \package{arabluatex} is primarily
1938% designed to process the Arab\TeX\ notation, it can also process the
1939% Buckwalter input scheme to a large extent.\footnote{See
1940% \url{http://www.qamus.org/transliteration.htm}} The Buckwalter
1941% scheme is actually processed in two steps, as it is first converted
1942% into Arab\TeX. Then, once this is accomplished, the Arab\TeX\ scheme
1943% is processed through the above described functions. In this way, the
1944% Buckwalter input scheme can make the most of the
1945% \package{arabluatex} special features that are presented in
1946% \vref{sec:options}.
1947%
1948% \DescribeMacro{\SetInputScheme} The input scheme, which is set to
1949% |arabtex| by default, may be changed at any point of the document by
1950% the command \cs{SetInputScheme}\marg{scheme}, where \meta{scheme}
1951% may be either |arabtex| or |buckwalter|. This command is also
1952% accepted in the preamble should one wish to set the input scheme
1953% globally, like so:---
1954% \iffalse
1955%<*example>
1956% \fi
1957\begin{arabluaverbatim}
1958\usepackage{arabluatex}
1959\SetInputScheme{buckwalter}
1960\end{arabluaverbatim}
1961% \iffalse
1962%</example>
1963% \fi
1964%
1965% \paragraph{Limitations}
1966% To date, the following two limitations apply:
1967% \begin{compactenum}[(a)]
1968% \item The braces |{| and |}|, which are used in Buckwalter scheme to
1969% encode \arb[novoc]{"a} and \arb[novoc]{y"'}, must be replaced with
1970% square brackets viz. |[| and |]| respectively.
1971% \item The underscore character |_|, which is used in Buckwalter
1972% scheme to encode the Arabic \arb[trans]{ta.twIl} must be replaced
1973% with a double hyphen |--| (see above \vref{sec:tatwil}).
1974% \end{compactenum}
1975%
1976% \Cref{tab:buckwalter-scheme} gives the Buckwalter equivalents that
1977% are currently used by \package{arabluatex}. The additional
1978% characters that are defined in \vref{tab:additional-arabic-codings}
1979% are also available.
1980% \begin{longtable}{llll}
1981% \captionlistentry{Buckwalter scheme}\\[-1em]
1982% \toprule
1983% Letter & \multicolumn{2}{l}{Transliteration\footnotemark}
1984% & Buckwalter notation \\
1985% & \texttt{dmg} & \texttt{loc} & \\ \midrule
1986% \endfirsthead
1987% \toprule
1988% Letter & \multicolumn{2}{l}{Transliteration}
1989% & Buckwalter notation \\
1990% & \texttt{dmg} & \texttt{loc} & \\ \midrule
1991% \endhead \footnotetext{See \vref{sec:transliteration}.}
1992% \label{tab:buckwalter-scheme}
1993% \arb[novoc]{a} & \dmg{a} & \loc{a} & \verb|A| \\
1994% \arb[novoc]{b} & \dmg{b} & \loc{b} & |b| \\
1995% \arb[novoc]{t} & \dmg{t} & \loc{t} & |t| \\
1996% \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & |v|\\
1997% \arb[novoc]{j} & \dmg{j} & \loc{j} & |j| \\
1998% \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & |H| \\
1999% \arb[novoc]{x} & \dmg{x} & \loc{x} & |x|\\
2000% \arb[novoc]{d} & \dmg{d} & \loc{d} & |d| \\
2001% \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & |*| \\
2002% \arb[novoc]{r} & \dmg{r} & \loc{r} & |r| \\
2003% \arb[novoc]{z} & \dmg{z} & \loc{z} & |z| \\
2004% \arb[novoc]{s} & \dmg{s} & \loc{s} & |s| \\
2005% \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & |$| \\
2006% \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & |S| \\
2007% \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & |D| \\
2008% \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & |T| \\
2009% \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & |Z| \\
2010% \arb[novoc]{`} & \dmg{`} & \loc{`} & |E| \\
2011% \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & |g| \\
2012% \arb[novoc]{f} & \dmg{f} & \loc{f} & |f| \\
2013% \arb[novoc]{q} & \dmg{q} & \loc{q} & |q| \\
2014% \arb[novoc]{k} & \dmg{k} & \loc{k} & |k| \\
2015% \arb[novoc]{l} & \dmg{l} & \loc{l} & |l| \\
2016% \arb[novoc]{m} & \dmg{m} & \loc{m} & |m| \\
2017% \arb[novoc]{n} & \dmg{n} & \loc{n} & |n| \\
2018% \arb[novoc]{h} & \dmg{h} & \loc{h} & |h| \\
2019% \arb[novoc]{w} & \dmg{w} & \loc{w} & |w| \\
2020% \arb[novoc]{y} & \dmg{y} & \loc{y} & |y| \\
2021% \arb[novoc]{T} & \dmg{aT} & \loc{aT} & |p| \\
2022% \midrule
2023% \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \verb|'| \\
2024% \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \verb+|+ \\
2025% \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \verb|>| \\
2026% \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \verb|&| \\
2027% \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \verb|<| \\
2028% \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \verb|]| \\
2029% \midrule
2030% \arb[novoc]{BB} & --- & --- & \verb|~| \\
2031% \arb[novoc]{"a} & ' & ' & |[| \\
2032% \midrule
2033% \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \verb|a| \\
2034% \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \verb|u| \\
2035% \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \verb|i| \\
2036% \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \verb|F| \\
2037% \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \verb|N| \\
2038% \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \verb|K| \\
2039% \arb[voc]{B"} & --- & --- & \verb|o| \\
2040% \midrule
2041% \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & |`| \\
2042% \midrule
2043% \arb[novoc]{--} & --- & --- & |--| (\arb[trans]{ta.twIl})\\
2044% \bottomrule
2045% \caption*{\Cref*{tab:buckwalter-scheme}: Buckwalter scheme}
2046% \end{longtable}
2047%
2048% \paragraph{Transliteration}
2049% The Buckwalter notation can also be transliterated into any accepted
2050% romanization standard of Arabic. See above
2051% \vref{sec:transliteration} for more information. However, it should
2052% be pointed out again that only accurate coding produces accurate
2053% transliteration. It is therefore at the very least highly advisable
2054% to use the hyphen for tying the definite article and the inseparable
2055% particles (viz. prepositions, adverbs and conjunctions) to words,
2056% like so:--- \SetInputScheme{buckwalter}
2057% \begin{quote}
2058% |Al-EaAlamu| \arb{Al-EaAlam-u} \arb[trans]{Al-EaAlam-u},
2059% |Al-$~amsu| \arb{Al-$~ams-u} \arb[trans]{Al-$~ams-u},
2060% |bi-SinaAEapi| |Al-T~ib~i|, \arb{bi-SinaAEap-i Al-T~ib~-i}
2061% \arb[trans]{bi-SinaAEap-i Al-T~ib~-i}.
2062%
2063% |wa-Al-l~`hi| \arb{wa-Al-l~`h-i} \arb[trans]{wa-Al-l~`h-i},
2064% |Al-Hamdu| |li-l~`hi| \arb{Al-Hamd-u li-l~`h-i}
2065% \arb[trans]{Al-Hamd-u li-l~`h-i}.
2066% \end{quote}
2067% \SetInputScheme{arabtex}
2068%
2069% Similary, it is not advisable to use \verb+|+ and |[| to encode the
2070% \arb[trans]{'alif-u 'l-mamdUdaT-i} and the \arb[trans]{'alif-u
2071% 'l-wa.sl-i} for such signs can be generated by \package{arabluatex}.
2072% Besides, as they do not \emph{per se} convey any morphological
2073% information on what they are derived from, they cannot be
2074% transliterated accurately. To take one example, %
2075% \SetInputScheme{buckwalter}%
2076% |<ilY Al-[ntiqaADi| gives \arb{>ilY Al-[ntiqaADi} as expected, but
2077% only |<ilY Al-intiqADi| can be transliterated as \arb[trans]{<ilY
2078% Al-intiqaADi} with the correct vowel \meta{i} in place of the %
2079% \SetInputScheme{arabtex}%
2080% \arb[trans]{'alif-u 'l-wa.sl-i}.
2081%
1935% \section{\LaTeX\ Commands in Arabic environments} 2082% \section{\LaTeX\ Commands in Arabic environments}
1936% \label{sec:commands-in-arb} 2083% \label{sec:commands-in-arb}
1937% \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\ 2084% \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\
@@ -1942,7 +2089,7 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
1942% as their arguments:--- 2089% as their arguments:---
1943% \begin{quote} 2090% \begin{quote}
1944% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAt-i}}| 2091% |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\cap{`AdAt-i}}|
1945% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI l-\cap{`AdAt-i}}} 2092% \arb[voc]{\abjad{45} kitAbu-hu \emph{fI 'l-\cap{`AdAt-i}}}
1946% \arb[trans]{\abjad{45} kitAbu-hu \emph{fI 2093% \arb[trans]{\abjad{45} kitAbu-hu \emph{fI
1947% 'l-\cap{`AdAt-i}}}.\footnote{This is odd in Arabic script, but 2094% 'l-\cap{`AdAt-i}}}.\footnote{This is odd in Arabic script, but
1948% using such features as \cs{emph} or \cs{textbf} is a matter of 2095% using such features as \cs{emph} or \cs{textbf} is a matter of
@@ -2263,7 +2410,7 @@ wa-ya.sIru ta.hta 'l-jild-i
2263 {\NewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}} 2410 {\NewDocumentCommand{\aemph}{m}{$\overline{\text{#1}}$}}}
2264% \end{macrocode} 2411% \end{macrocode}
2265% \begin{macro}{\SetInputScheme} 2412% \begin{macro}{\SetInputScheme}
2266% \changes{v1.4}{2016/06/30}{\cs{SetInputScheme} may be used to 2413% \changes{v1.4}{2016/07/04}{\cs{SetInputScheme} may be used to
2267% process other input schemes such as \enquote*{Buckwalter}} 2414% process other input schemes such as \enquote*{Buckwalter}}
2268% \package{arabluatex} is designed for processing Arab\TeX\ input 2415% \package{arabluatex} is designed for processing Arab\TeX\ input
2269% notation. \cs{SetInputScheme} may be used in the preamble or at 2416% notation. \cs{SetInputScheme} may be used in the preamble or at
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 59e861f..f83aa5c 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -113,7 +113,12 @@ buckwalter = {
113 -- trigraphs 113 -- trigraphs
114 {a="^Aal%-?", b="al-"}, 114 {a="^Aal%-?", b="al-"},
115 {a="(%W)Aal%-?", b="%1al-"}, 115 {a="(%W)Aal%-?", b="%1al-"},
116 {a="(%s)Aal%-?", b="%1al-"},
116 {a="([%-%s])Al%-?", b="%1\'l-"}, 117 {a="([%-%s])Al%-?", b="%1\'l-"},
118 {a="^A", b="a"},
119 {a="(%W)A", b="%1a"},
120 {a="(%s)A", b="%1a"},
121 {a="(al%-[%g])(%~)", b="%1"},
117 {a="(\'l%-[%g])(%~)", b="%1"}, 122 {a="(\'l%-[%g])(%~)", b="%1"},
118 -- digraphs begin 123 -- digraphs begin
119 {a="aA", b="A"}, 124 {a="aA", b="A"},