diff options
author | Karl Berry <karl@freefriends.org> | 2019-03-22 20:50:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-03-22 20:50:44 +0000 |
commit | 289b0e55a8c83fea60e41a525039ffb52c7447a4 (patch) | |
tree | b8ed9422a88482dd6b9eb82f016909eb02df8732 | |
parent | e78816c4002b589db4bda4039c0c99f4f76af5d9 (diff) |
arabluatex (22mar19)
git-svn-id: svn://tug.org/texlive/trunk@50537 c570f23f-e606-0410-a88d-b1316a301751
15 files changed, 160 insertions, 126 deletions
diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.el b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.el index d8e8dff1467..73bfcd69478 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.el +++ b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.el @@ -2,7 +2,7 @@ ;; This file is part of the `arabluatex' package ;; ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -;; Copyright (C) 2016--2018 Robert Alessi +;; Copyright (C) 2016--2019 Robert Alessi ;; Please send error reports and suggestions for improvements to Robert ;; Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf Binary files differindex b9b39b188e3..0001a5502ca 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/arabluatex.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf Binary files differindex 51954017326..f1695b85bcc 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/al-Jahiz.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf Binary files differindex 6b0b3454de4..ecfd20a2e9c 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/exporting.pdf diff --git a/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf b/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf Binary files differindex 1e9817fecbe..ca5411f9b93 100644 --- a/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf +++ b/Master/texmf-dist/doc/lualatex/arabluatex/samples/template-01.pdf diff --git a/Master/texmf-dist/source/lualatex/arabluatex/README.tex b/Master/texmf-dist/source/lualatex/arabluatex/README.tex index 26a07c92386..236dc064f11 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/README.tex +++ b/Master/texmf-dist/source/lualatex/arabluatex/README.tex @@ -3,7 +3,7 @@ % March 18, 2017 \documentclass{article} -\usepackage{fontspec,luatextra} +\usepackage{fontspec} \title{The arabluatex package -- README file} \author{Robert Alessi} @@ -33,7 +33,7 @@ searched, analyzed and correlated in various ways. \section*{License and disclamer} ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright ⓒ 2016--2018 Robert Alessi +Copyright ⓒ 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi: @@ -41,7 +41,7 @@ Alessi: \item email: \href{mailto:alessi@robertalessi.net}{alessi@robertalessi.net} \item website: \url{http://www.robertalessi.net/arabluatex} \item comments, feature requests, bug reports: - \url{https://notabug.org/ralessi/arabluatex/issues} + \url{https://gitlab.com/ralessi/arabluatex/issues} \end{itemize} This program is free software: you can redistribute it and/or modify @@ -72,7 +72,7 @@ source files: \subsection*{License applicable to the documentation} \label{sec:documentation-license} -Copyright ⓒ 2016--2018 Robert Alessi +Copyright ⓒ 2016--2019 Robert Alessi The documentation file \verb|arabluatex.pdf| that is generated from the \verb|arabluatex.dtx| source is licensed under the Creative @@ -118,7 +118,7 @@ instructions on how to install ArabLua\TeX, please see above. \subsection*{Comments, Feature requests, Bug Reports} \label{sec:comm-feat-requ} -\url{https://notabug.org/ralessi/arabluatex/issues} +\url{https://gitlab.com/ralessi/arabluatex/issues} \subsection*{Download the repository} \label{sec:download-repository} @@ -137,8 +137,8 @@ ArabLuaTeX. \subsection*{Git hosting} \label{sec:git-hosting} -Make an account on \url{https://notabug.org} and navigate (while -logged in) to \url{https://notabug.org/ralessi/arabluatex}. Click +Make an account on \url{https://gitlab.com} and navigate (while +logged in) to \url{https://gitlab.com/ralessi/arabluatex}. Click \emph{Fork} and you will have in your account your own repository of \verb|arabluatex| where you will be able to make whatever changes you like to. diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx index 23a4f386c46..959266f8f75 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx +++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -% Copyright (C) 2016--2018 Robert Alesssi +% Copyright (C) 2016--2019 Robert Alesssi % % Please send error reports and suggestions for improvements to Robert % Alessi <alessi@robertalessi.net> @@ -24,11 +24,11 @@ %<*driver> \ProvidesFile{arabluatex.dtx} %</driver> -%<package-info>\NeedsTeXFormat{LaTeX2e}[1999/12/01] -%<package-info>\ProvidesPackage{arabluatex} -%<*package-info> - [2018/10/11 v1.15.1 An ArabTeX-like interface for LuaLaTeX] -%</package-info> +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{arabluatex} +%<*package> + [2019/03/22 v1.16 An ArabTeX-like interface for LuaLaTeX] +%</package> % %<*driver> \documentclass{ltxdoc} @@ -37,7 +37,7 @@ % This file is part of the `arabluatex' package % % ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -% Copyright (C) 2016--2018 Robert Alessi +% Copyright (C) 2016--2019 Robert Alessi % % Please send error reports and suggestions for improvements to Robert % Alessi <alessi@robertalessi.net> @@ -151,14 +151,16 @@ \usepackage{dox} \doxitem{Option}{option}{options} \usepackage{fontspec} -\usepackage{hologo} +\usepackage{realscripts} +\usepackage{microtype} \defaultfontfeatures{RawFeature={+liga}} \setmainfont{Old Standard}[SmallCapsFont={Latin Modern Roman Caps}, RawFeature={+mark;+ccmp;+ss05;+ss06}] \usepackage{newunicodechar} \newunicodechar{ǧ}{ǧ} % Old Standard does not include ǧ/Ǧ \newunicodechar{Ǧ}{Ǧ} % -\usepackage{arabluatex}[2018/10/11] +\usepackage{metalogox} +\usepackage{arabluatex}[2019/03/22] \usepackage[nopar]{quran} \usepackage[noindex]{nameauth} \usepackage{varioref} @@ -172,7 +174,7 @@ linktocpage=true, pdfauthor={Robert Alessi}, pdftitle={The arabluatex package}, pdfcontactemail={alessi@robertalessi.net}, pdfcontacturl={http://www.robertalessi.net/arabluatex}, - pdfcopyright={Copyright (C) 2016--2018 Robert Alessi + pdfcopyright={Copyright (C) 2016--2019 Robert Alessi <alessi@robertalessi.net>. This document is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit @@ -202,19 +204,22 @@ \usepackage{booktabs} \usepackage[defaultlines=3,all]{nowidow} \usepackage{needspace} +\usepackage{relsize} \usepackage{tikz} -\usepackage[breakable, skins, listings, xparse]{tcolorbox} +\usepackage[breakable, skins, xparse, minted]{tcolorbox} \tcbset{colback=white, boxrule=.15mm, colframe=red!50!white, left=6mm, breakable} -\DeclareTCBListing{arabluacode}{s O{}}{listing - options={style=tcblatex, numbers=left, numberstyle=\tiny}, +\DeclareTCBListing{arabluacode}{s O{}}{listing engine=minted, minted + language=latex, minted options={linenos, fontsize=\relsize{-0.5}}, IfBooleanTF={#1}{listing side text}{#2}} -\DeclareTCBListing{arabluaverbatim}{}{listing options={style=tcblatex, - numbers=left, numberstyle=\tiny}, listing only} +\DeclareTCBListing{arabluaverbatim}{}{listing engine=minted, minted + language=latex, minted options={linenos, fontsize=\relsize{-0.5}}, + listing only} \DeclareTotalTCBox{\arabluaverb}{v}{verbatim}{#1} \DeclareTotalTCBox{\arabluabox}{m}{left=0mm, right=0mm, top=0mm, bottom=0mm}{#1} \newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}} +\usepackage[contents]{colordoc} \usepackage{csquotes} \DeclareQuoteStyle{arabic} {\rmfamily\textquotedblright}{\rmfamily\textquotedblleft} @@ -258,7 +263,7 @@ %</driver> % \fi % -% \CheckSum{899} +% \CheckSum{932} % % \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 @@ -329,7 +334,7 @@ % \normalsize % % \begin{abstract} -% This package provides for \hologo{LuaLaTeX} an Arab{\TeX}-like interface +% This package provides for {\LuaLaTeX} an Arab{\TeX}-like interface % to generate Arabic writing from an \textsc{ascii} % transliteration. It is particularly well-suited for complex % documents such as technical documents or critical editions where a @@ -351,7 +356,7 @@ % \label{sec:license-software} % % \package{arabluatex} --- Processing Arab\TeX\ notation under Lua\LaTeX.\\ -% Copyright \textcopyright\ 2016--2018 Robert Alessi +% Copyright \textcopyright\ 2016--2019 Robert Alessi % % Please send error reports and suggestions for improvements to Robert % Alessi: @@ -360,7 +365,7 @@ % \item website: \url{http://www.robertalessi.net/arabluatex} % \item development: \url{http://git.robertalessi.net/arabluatex} % \item comments, feature requests, bug reports: -% \url{https://notabug.org/ralessi/arabluatex/issues} +% \url{https://gitlab.com/ralessi/arabluatex/issues} % \end{itemize} % % \marginpar{\texttt{gpl3+}} @@ -393,7 +398,7 @@ % % \subsection*{License applicable to this document} % \label{sec:documentation-license} -% Copyright \textcopyright\ 2016--2018 Robert Alessi +% Copyright \textcopyright\ 2016--2019 Robert Alessi % % \ccbysa\marginpar{\texttt{CC BY-SA 4.0}} % This document is licensed under the Creative Commons @@ -405,10 +410,10 @@ % % \section{Introduction} % In comparison to Prof. Lagally's outstanding Arab\TeX,\footnote{See -% \url{http://ctan.org/pkg/arabtex}} Arab\hologo{LuaTeX} is at present +% \url{http://ctan.org/pkg/arabtex}} Arab{\LuaTeX} is at present % nothing more than a modest piece of software. Hopefully---if I may % say so---it will eventually provide all of its valuable qualities to -% the \hologo{LuaLaTeX} users. +% the {\LuaLaTeX} users. % % \package{arabtex} dates back to 1992. As far as I know, it was then % the first and only way to typeset Arabic texts with \TeX\ and @@ -469,10 +474,10 @@ % lexicons that can be searched, analyzed and correlated in various % ways. % -%\subsection{\package{arabluatex} is for \hologo{LuaLaTeX}} +%\subsection{\package{arabluatex} is for {\LuaLaTeX}} % It goes without saying that \package{arabluatex} requires -% \hologo{LuaLaTeX}. \TeX\ and \LaTeX\ have \package{arabtex}, and -% \hologo{XeLaTeX} has \package{arabxetex}. Both of them are much more +% {\LuaLaTeX}. \TeX\ and \LaTeX\ have \package{arabtex}, and +% {\XeLaTeX} has \package{arabxetex}. Both of them are much more % advanced than \package{arabluatex}, as they can process a number of % different languages,\footnote{\label{fn:arabtex-languages}To date, % both packages support Arabic, Maghribi, Urdu, Pashto, Sindhi, @@ -502,7 +507,7 @@ % \subsection{Activating \package{arabluatex}} % \package{arabluatex} is loaded the usual way:\\ % \arabluaverb{\usepackage{arabluatex}}\\ -% The only requirement of \package{arabluatex} is \hologo{LuaLaTeX}; +% The only requirement of \package{arabluatex} is {\LuaLaTeX}; % it will complain if the document is compiled with another % engine. That aside, \package{arabluatex} does not load packages such % as \package{polyglossia}. Although it can work with @@ -954,7 +959,7 @@ vowels (see §~3). % \Cref{tab:arabtex-long-vowels} gives the Arab\TeX\ equivalents for % the Arabic long vowels. % -% \needspace{7\baselineskip} +% \needspace{8\baselineskip} % \begin{longtable}{lllll} % \bottomrule % \caption*{\Cref*{tab:arabtex-long-vowels}: Standard Arab\TeX\ (long @@ -2050,8 +2055,9 @@ word that \cs{arbnull} is applied to. % 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 use the \cs{aemph} command that -% is described below in \vref{sec:emphasis}:--- +% 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]{}|:--- % \begin{quote} % |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| % |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is @@ -2060,6 +2066,10 @@ word that \cs{arbnull} is applied to. % |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| % |\aemph*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874 % is \aemph*{\abjad{1874}}. +% +% |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is| +% |\arb[novoc]{\abjad{1874}}| The \arb[trans]{'abjad} number for +% 1874 is \arb[novoc]{\abjad{1874}}. % \end{quote} % \end{quoting} % @@ -2371,23 +2381,22 @@ word that \cs{arbnull} is applied to. % % \subsection{Example} % \label{sec:poetry-example} -% Here follow the first lines of \arb[trans]{\upshape{}\uc{i}mru'u -% 'l-\uc{q}aysi}'s \arb[trans]{\uc{m}u`allaqaT}. In this example, -% \cs{SetArbDflt*} has been selected so as to mark the -% \arb[trans]{'id.gAm} that is fit to this declamatory -% poetry:---\footnote{Please note that for the time being only the -% assimilation rules that are laid on \vref{ref:assimilation} are -% applied. See \vref{sec:classic-modern-typesetting} for more -% information. None of the editions of the -% \arb[trans]{\uc{M}u`allaqAt} that I know of feature the -% \arb[trans]{'id.gAm} in the Arabic text, although it is often -% strongly marked in declamation.}% +% Here follow the first lines of \prname{imru'u 'l-qaysi}'s +% \arb[trans]{\uc{m}u`allaqaT}. In this example, \cs{SetArbDflt*} has +% been selected so as to mark the \arb[trans]{'id.gAm} that is fit to +% this declamatory poetry:---\footnote{Please note that for the time +% being only the assimilation rules that are laid on +% \vref{ref:assimilation} are applied. See +% \vref{sec:classic-modern-typesetting} for more information. None of +% the editions of the \arb[trans]{\uc{M}u`allaqAt} that I know of +% feature the \arb[trans]{'id.gAm} in the Arabic text, although it is +% often strongly marked in declamation.}% % \iffalse %<*example> % \fi \begin{arabluaverbatim} \begin{arab}[fullvoc] - qAla \uc{i}mru'u 'l-\uc{q}aysi fI mu`allaqati-hi: + qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: \end{arab} \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina @@ -2413,7 +2422,7 @@ word that \cs{arbnull} is applied to. %</example> % \fi% % \begin{arab}[fullvoc] -% qAla \uc{i}mru'u 'l-\uc{q}aysi fI mu`allaqati-hi: +% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: % \end{arab} % % \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina @@ -2439,7 +2448,7 @@ word that \cs{arbnull} is applied to. % \medskip % % \begin{arab}[trans] -% qAla \uc{i}mru'u 'l-\uc{q}aysi fI mu`allaqati-hi: +% qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi: % \end{arab} % % \begin{arabverse}[mode=trans, metre={(al-.darbu 'l-_tAnI mina @@ -2670,7 +2679,7 @@ word that \cs{arbnull} is applied to. % others display the digits outside the \enquote*{end of % \arb[trans]{'AyaT}} sign, let alone those that print the digits % stacked. To the knowledge of the writer, this should be reported to -% the developpers of those fonts. +% the developers of those fonts. % % \section{Color} % \label{sec:color} @@ -2802,6 +2811,7 @@ word that \cs{arbnull} is applied to. % 'a`\arbcolor[red]{^g}.aba-ka}. % % |i^staraytu-hu| |bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}| +% \allowbreak % |'a`\arbcolor[red]|\allowbreak|{^g}\arbcolor[blue]{.a}ba-ka| % \arb{i^staraytu-hu bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN} % 'a`\arbcolor[red]{^g}\arbcolor[blue]{.a}ba-ka} \linebreak @@ -3448,7 +3458,6 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \arb[novoc]{a} & \dmg{a} & \loc{a} & \brill{a} & |A| & |A| \\ % \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| & |b| \\ % \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| & |t| \\ -% \pagebreak[1] % \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |v| & |v| \\ % \arb[novoc]{j} & \dmg{j} & \loc{j} & \brill{j} & |j| & |j| \\ % \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & \brill{.h} & |H| & |H| \\ @@ -3457,14 +3466,12 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & \brill{_d} & |*| & |V| \\ % \arb[novoc]{r} & \dmg{r} & \loc{r} & \brill{r} & |r| & |r| \\ % \arb[novoc]{z} & \dmg{z} & \loc{z} & \brill{z} & |z| & |z| \\ -% \pagebreak[1] % \arb[novoc]{s} & \dmg{s} & \loc{s} & \brill{s} & |s| & |s| \\ % \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & \brill{^s} & |$| & |c| \\ % \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & \brill{.s} & |S| & |S| \\ % \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & \brill{.d} & |D| & |D| \\ % \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & \brill{.t} & |T| & |T| \\ % \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & \brill{.z} & |Z| & |Z| \\ -% \pagebreak[1] % \arb[novoc]{`} & \dmg{`} & \loc{`} & \brill{`} & |E| & |E| \\ % \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & \brill{.g} & |g| & |g| \\ % \arb[novoc]{f} & \dmg{f} & \loc{f} & \brill{f} & |f| & |f| \\ @@ -3476,6 +3483,7 @@ muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu % \arb[novoc]{h} & \dmg{h} & \loc{h} & \brill{h} & |h| & |h| \\ % \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| & |w| \\ % \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y| & |y| \\ +% \pagebreak % \arb[novoc]{Y} & \dmg{Y} & \loc{Y} & \brill{Y} & |Y| & |Y| \\ % \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |p| & |p| \\ % \midrule @@ -4111,8 +4119,8 @@ wa-ya.sIru ta.hta 'l-jild-i % equivalents, either in Arabic script or in any accepted standard of % transliteration. Exporting \textsc{ascii} strings to Unicode while % preserving the exact selected global or local options is a fairly -% complex operation which may require \hologo{LuaLaTeX} to be run -% several times as will be explained below. +% complex operation which may require {\LuaLaTeX} to be run several +% times as will be explained below. % % \subsection{Commands and environments} % \paragraph{\texttt{export} global option} @@ -4227,7 +4235,7 @@ wa-ya.sIru ta.hta 'l-jild-i % Unicode files can be further processed by document converters such % as John McFarlane's |pandoc|\footnote{See % \url{http://pandoc.org/}}. To take here one simple example, here is -% how |file_out.tex| can be converted from \hologo{LuaLaTeX} into Open +% how |file_out.tex| can be converted from {\LuaLaTeX} into Open % Document format (|.odt|):---% % \iffalse %<*example> @@ -4297,13 +4305,10 @@ wa-ya.sIru ta.hta 'l-jild-i % functions and tables. Read the |.lua| files that accompany % \package{arabluatex} for more information. % \begin{macrocode} -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{arabluatex}% -[2018/10/11 v1.15.1 An ArabTeX-like interface for LuaLaTeX] \RequirePackage{ifluatex} % \end{macrocode} -% \package{arabluatex} requires \hologo{LuaLaTeX} of course. Issue a -% warning if the document is processed with another engine. +% \package{arabluatex} requires {\LuaLaTeX} of course. Issue a warning +% if the document is processed with another engine. % \begin{macrocode} \ifluatex\else \PackageError{arabluatex}{lualatex needed}{% @@ -4340,16 +4345,17 @@ wa-ya.sIru ta.hta 'l-jild-i \RequirePackage{etoolbox} \RequirePackage{arabluatex-patch} \RequirePackage{fontspec} -\RequirePackage{amsmath} \RequirePackage{luacode} \RequirePackage{xparse} \RequirePackage{environ} \RequirePackage{adjustbox} \RequirePackage{xstring} +\PassOptionsToPackage{normalem}{ulem} +\RequirePackage{ulem} % \end{macrocode} % The following boolean will be set to |true| in |RL| mode: % \begin{macrocode} -\newbool{al@rlmode} +\providebool{al@rlmode} % \end{macrocode} % Here begins the real work: load |arabluatex.lua|: % \begin{macrocode} @@ -4417,11 +4423,17 @@ wa-ya.sIru ta.hta 'l-jild-i % \end{macro} % \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}} % \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} +% stroke over its argument}As of v1.16 \package{arabluatex} uses +% \package{ulem} to render the strokes, thus allowing line breaks +% and manual hyphenation for transliterated Arabic. % \begin{macrocode} +\def\oline{\@ifstar\@oline\@@oline} +\def\@oline#1{\ensuremath{\overline{\mbox{#1}}}} +\def\@@oline{\bgroup \ULdepth=-3ex \ULset} \AtBeginDocument{\ifdef{\aemph}% {\RenewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% @@ -4640,7 +4652,7 @@ wa-ya.sIru ta.hta 'l-jild-i \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% - \bgroup\textdir TLT\al@trans@style% + \bgroup\textdir TLT\al@trans@font\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, @@ -4704,7 +4716,7 @@ wa-ya.sIru ta.hta 'l-jild-i \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% - \bgroup\pardir TLT\textdir TLT\al@trans@style% + \bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, @@ -4745,18 +4757,23 @@ wa-ya.sIru ta.hta 'l-jild-i metre]{#1}% \if@pkg@export\ifal@verse@export% \ArbOutFile{\begin{arabverse}}% - \ifx\al@mode\al@mode@trans% - \luadirect{tooutfile(\luastringN{[#1]})}% - \else% + % \ifx\al@mode\al@mode@trans% + % \luadirect{tooutfile(\luastringN{[#1]})}% + % \else% \IfSubStr[1]{#1}{utf}% {\luadirect{tooutfile(\luastringN{[#1]})}}% {\luadirect{tooutfile(\luastringN{[#1, utf]})}}% - \fi + % \fi \else\fi\else\fi\egroup% \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% - \ifx\al@mode\al@mode@trans% - \ifal@verse@utf\setRL\else\setLR\fi% - \else\setRL\fi% + % \ifx\al@mode\al@mode@trans% + % \ifal@verse@utf\setRL\else\setLR\fi% + % \else\setRL\fi% + \ifal@verse@utf% + \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% + \else% + \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% + \fi% \arab@v@export{#1} }% {\endarab@v@export @@ -4795,8 +4812,6 @@ wa-ya.sIru ta.hta 'l-jild-i \def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} \NewDocumentCommand{\bayt}{s m o m}{% \IfBooleanTF{#1}{\relax}{\relax}% - {^^^^200b}% quick fix to a bug (or a missing feature) in either - % luacolor or adjustbox \ifdefined\savenotes\savenotes\else\fi% \edef\al@tatweel{--}% \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}% @@ -4837,12 +4852,12 @@ wa-ya.sIru ta.hta 'l-jild-i \ifdefined\abjad% \RenewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\aemph{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} \else% \NewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\aemph{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} \fi} % \end{macrocode} @@ -5036,7 +5051,7 @@ wa-ya.sIru ta.hta 'l-jild-i % % The following is taken from |latex.ltx|. I had to make this patch % for I could not find a way to process the list environments in -% right-to-left mode. The \hologo{LuaTeX} primitives \cs{bodydir} and +% right-to-left mode. The {\LuaTeX} primitives \cs{bodydir} and % \cs{pagedir} will eventually allow us to get rid of this: % \begin{macrocode} \def\list#1#2{% diff --git a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins index 7a3582b0a8f..ea5a73ebcfb 100644 --- a/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins +++ b/Master/texmf-dist/source/lualatex/arabluatex/arabluatex.ins @@ -1,7 +1,7 @@ %% This file is part of the `arabluatex' package %% %% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -%% Copyright (C) 2016--2018 Robert Alessi +%% Copyright (C) 2016--2019 Robert Alessi %% %% Please send error reports and suggestions for improvements to %% Robert Alessi <alessi@robertalessi.net> @@ -43,7 +43,7 @@ This is a generated file. This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex-patch.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex-patch.sty index 2491d3409f4..46e14946260 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex-patch.sty +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex-patch.sty @@ -11,7 +11,7 @@ %% This file is part of the `arabluatex' package %% %% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -%% Copyright (C) 2016--2018 Robert Alessi +%% Copyright (C) 2016--2019 Robert Alessi %% %% Please send error reports and suggestions for improvements to Robert %% Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua index 09c1acb9ba7..9d8343810f6 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.lua @@ -2,7 +2,7 @@ This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> @@ -49,6 +49,8 @@ local cmdstar = lpeg.Cs(spce * lpeg.P("*")) local bsqbracketsii = lpeg.Cs(bsqbrackets^-2) local bcbracesii = lpeg.Cs(bcbraces^-2) local cmd = lpeg.Cs(dblbkslash * ascii^1 * cmdstar^-1) +local rawcmd = lpeg.Cs(dblbkslash * ascii^1) +local aftercmd = lpeg.Cs(lpeg.S("*[{,.?;:'`\"") + dblbkslash) local cmdargs = lpeg.Cs(spce^-1 * bsqbracketsii * bcbracesii * bsqbrackets^-1) local arbargs = lpeg.Cs(spce^-1 * bsqbrackets^-1 * bcbraces) local baytargs = lpeg.Cs(spce * bcbraces * bsqbrackets^-1 * bcbraces) @@ -228,10 +230,11 @@ local function takeoutcapetc(str) body = string.sub(body, 2, -2) return string.format("%s", body) end) - str = string.gsub(str, "(\\uc.?)(%b{})", function(tag, body) + str = string.gsub(str, "(\\uc%s?)(%b{})", function(tag, body) body = string.sub(body, 2, -2) return string.format("%s", body) end) + str = string.gsub(str, "\\uc%s", "") str = string.gsub(str, "\\linebreak", "") str = string.gsub(str, "\\%-", "") return str @@ -487,7 +490,7 @@ local function novoc(str) inside = indnum(inside) return string.format("\\arabicfont{}%s", inside) end) -return str + return str end local function novoceasy(str) @@ -523,7 +526,7 @@ local function novoceasy(str) inside = indnum(inside) return string.format("\\arabicfont{}%s", inside) end) -return str + return str end local function transdmg(str, rules) @@ -561,9 +564,9 @@ local function transdmg(str, rules) for i = 1,#nulltr do inside = string.gsub(inside, nulltr[i].a, nulltr[i].b) end - return string.format("\\txtrans{%s}", inside) + return string.format("%s", inside) end) -return str + return str end local function transloc(str) @@ -599,9 +602,9 @@ local function transloc(str) for i = 1,#nulltr do inside = string.gsub(inside, nulltr[i].a, nulltr[i].b) end - return string.format("\\txtrans{%s}", inside) + return string.format("%s", inside) end) -return str + return str end local function transarabica(str) @@ -634,9 +637,9 @@ local function transarabica(str) for i = 1,#nulltr do inside = string.gsub(inside, nulltr[i].a, nulltr[i].b) end - return string.format("\\txtrans{%s}", inside) + return string.format("%s", inside) end) -return str + return str end local function processbuckw(str) @@ -647,7 +650,7 @@ local function processbuckw(str) end return string.format("\\arb{%s}", inside) end) -return str + return str end -- The following functions produce a copy of the original .tex source @@ -704,7 +707,7 @@ local function processarbtoutf(str) bbody = string.sub(bbody, 2, -2) if tonumber(bbody) ~= nil then bbody = abjadify(bbody) - return string.format("\\aemph{\\arb[novoc]{%s}}", bbody) + return string.format("\\oline*{\\arb[novoc]{%s}}", bbody) else return string.format("%s{%s}", btag, bbody) end @@ -869,6 +872,7 @@ function al_closestream() [[ and compile it one more time}}]]) -- else end + t = gsub(t, rawcmd * spce^1 * aftercmd, "%1%3") t = t.."\n\\end{document}" io.write(t) o:write(t) @@ -985,10 +989,10 @@ function processtrans(str, mode, rules, scheme) end str = unprotectarb(str) if export_utf == "yes" then - tofile = str + tofile = "\\txtrans{"..str.."}" tooutfile(tofile) elseif export_utf == "arabverse" then - tofile = str + tofile = "\\txtrans{"..str.."}" tooutfile(tofile) else return str @@ -1053,6 +1057,9 @@ function uc(str) body = string.sub(body, 2, -2) return string.format("%s", body) end) + str = string.gsub(str, "{", "\\@al@ob") + str = string.gsub(str, "} ", "\\@al@cb@sp ") + str = string.gsub(str, "}", "\\@al@cb") -- Allah and ibn str = string.gsub(str, "(al%-lāh)([uai]?)", "{Allāh%2}") str = string.gsub(str, "([%'%-]?)(l%-lāh)([uai]?)", "%1{Llāh%3}") @@ -1099,14 +1106,19 @@ function uc(str) for i = 1,#lcuc do str = string.gsub(str, "(%s[%(%<%[]?)"..lcuc[i].a, "%1"..lcuc[i].b) end + str = string.gsub(str, "{", "") + str = string.gsub(str, "}", "") + str = string.gsub(str, "\\@al@ob", "{") + str = string.gsub(str, "\\@al@cb@sp ", "} ") + str = string.gsub(str, "\\@al@cb", "}") if export_utf == "yes" then - tofile = "\\txtrans{"..str.."}" + tofile = str tooutfile(tofile) elseif export_utf == "arabverse" then - tofile = "\\txtrans{"..str.."}" + tofile = str tooutfile(tofile) else - return "\\txtrans{"..str.."}" + return str end return "" end @@ -1148,12 +1160,12 @@ end function aemph(str, opt) if tex.textdir == "TRT" then - str = "$\\overline{\\text{\\textdir TRT{}"..str.."}}$" + str = "\\oline{\\textdir TRT{}"..str.."}" elseif tex.textdir == "TLT" then if opt == "over" then - str = "$\\overline{\\text{"..str.."}}$" + str = "\\oline{"..str.."}" else - str = "$\\underline{\\text{"..str.."}}$" + str = "\\uline{"..str.."}" end end return str diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty index 533057b63a3..ebe1ff2a831 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex.sty @@ -11,7 +11,7 @@ %% This file is part of the `arabluatex' package %% %% ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -%% Copyright (C) 2016--2018 Robert Alessi +%% Copyright (C) 2016--2019 Robert Alessi %% %% Please send error reports and suggestions for improvements to Robert %% Alessi <alessi@robertalessi.net> @@ -39,9 +39,9 @@ %% - arabluatex_novoc.lua %% - arabluatex_trans.lua %% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{arabluatex}% -[2018/10/11 v1.15.1 An ArabTeX-like interface for LuaLaTeX] +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{arabluatex} + [2019/03/22 v1.16 An ArabTeX-like interface for LuaLaTeX] \RequirePackage{ifluatex} \ifluatex\else \PackageError{arabluatex}{lualatex needed}{% @@ -72,13 +72,14 @@ \RequirePackage{etoolbox} \RequirePackage{arabluatex-patch} \RequirePackage{fontspec} -\RequirePackage{amsmath} \RequirePackage{luacode} \RequirePackage{xparse} \RequirePackage{environ} \RequirePackage{adjustbox} \RequirePackage{xstring} -\newbool{al@rlmode} +\PassOptionsToPackage{normalem}{ulem} +\RequirePackage{ulem} +\providebool{al@rlmode} \luadirect{dofile(kpse.find_file("arabluatex.lua"))} \AtBeginDocument{\ifdefined\arabicfont\relax\else \PackageWarning{arabluatex}{\string\arabicfont\ is not defined.^^J @@ -97,6 +98,9 @@ {\luadirect{mkarbbreak(\luastringN{#2}, "out")}} {\luadirect{mkarbbreak(\luastringN{#2}, "dflt")}} } +\def\oline{\@ifstar\@oline\@@oline} +\def\@oline#1{\ensuremath{\overline{\mbox{#1}}}} +\def\@@oline{\bgroup \ULdepth=-3ex \ULset} \AtBeginDocument{\ifdef{\aemph}% {\RenewDocumentCommand{\aemph}{s m}{% \IfBooleanTF{#1}{% @@ -163,7 +167,7 @@ \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% - \bgroup\textdir TLT\al@trans@style% + \bgroup\textdir TLT\al@trans@font\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringN{#2}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, @@ -199,7 +203,7 @@ \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% - \bgroup\pardir TLT\textdir TLT\al@trans@style% + \bgroup\pardir TLT\textdir TLT\al@trans@font\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, \luastringO{\al@trans@convention}, \luastringO{\al@arb@rules}, @@ -225,18 +229,23 @@ metre]{#1}% \if@pkg@export\ifal@verse@export% \ArbOutFile{\begin{arabverse}}% - \ifx\al@mode\al@mode@trans% - \luadirect{tooutfile(\luastringN{[#1]})}% - \else% + % \ifx\al@mode\al@mode@trans% + % \luadirect{tooutfile(\luastringN{[#1]})}% + % \else% \IfSubStr[1]{#1}{utf}% {\luadirect{tooutfile(\luastringN{[#1]})}}% {\luadirect{tooutfile(\luastringN{[#1, utf]})}}% - \fi + % \fi \else\fi\else\fi\egroup% \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}% - \ifx\al@mode\al@mode@trans% - \ifal@verse@utf\setRL\else\setLR\fi% - \else\setRL\fi% + % \ifx\al@mode\al@mode@trans% + % \ifal@verse@utf\setRL\else\setLR\fi% + % \else\setRL\fi% + \ifal@verse@utf% + \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% + \else% + \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi% + \fi% \arab@v@export{#1} }% {\endarab@v@export @@ -255,8 +264,6 @@ \def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt} \NewDocumentCommand{\bayt}{s m o m}{% \IfBooleanTF{#1}{\relax}{\relax}% - {^^^^200b}% quick fix to a bug (or a missing feature) in either - % luacolor or adjustbox \ifdefined\savenotes\savenotes\else\fi% \edef\al@tatweel{--}% \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}% @@ -286,12 +293,12 @@ \ifdefined\abjad% \RenewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\aemph{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} \else% \NewDocumentCommand{\abjad}{m}% {\ifbool{al@rlmode}% - {\aemph{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} + {\oline*{\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} {\luadirect{tex.sprint(abjadify(\luastring{#1}))}}} \fi} \NewDocumentCommand{\ayah}{m}{% diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua index 8d2615e308a..f524c3b6d96 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua @@ -2,7 +2,7 @@ This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua index 774b8b3d7c6..51418617b7d 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_novoc.lua @@ -2,7 +2,7 @@ This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua index 775e8207ecf..63a19563450 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_trans.lua @@ -2,7 +2,7 @@ This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua index c70e0557a0d..54c324c428b 100644 --- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua +++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua @@ -2,7 +2,7 @@ This file is part of the `arabluatex' package ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX -Copyright (C) 2016--2018 Robert Alessi +Copyright (C) 2016--2019 Robert Alessi Please send error reports and suggestions for improvements to Robert Alessi <alessi@robertalessi.net> |