From e3a95d205140a9c1ec8bc34f9a6125d8074f5e58 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 11 Jun 2020 03:02:13 +0000 Subject: CTAN sync 202006110302 --- macros/latex/contrib/hvarabic/latex/hvarabic.sty | 66 ++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 macros/latex/contrib/hvarabic/latex/hvarabic.sty (limited to 'macros/latex/contrib/hvarabic/latex') diff --git a/macros/latex/contrib/hvarabic/latex/hvarabic.sty b/macros/latex/contrib/hvarabic/latex/hvarabic.sty new file mode 100644 index 0000000000..e1d00bacd0 --- /dev/null +++ b/macros/latex/contrib/hvarabic/latex/hvarabic.sty @@ -0,0 +1,66 @@ +%% This is file `hvarabic.sty', +%% +%% Copyright (C) 2020 +%% Herbert Voss +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +% +% ------------------------------------- +\ProvidesPackage{hvarabic}[2020/06/08 v. 0.01 define macros for RTL typesetting (hv)] +% +\RequirePackage{iftex} +\iftutex +\else + \ExplSyntaxOn + \msg_new:nnn {unitconv} {need-lualatex} + { + The~ hvarabic~ package~ requires~ LuaLaTeX or XeLaTeX.\\\\ + You~ must~ change~ your~ typesetting~ engine~ to,~ + "lualatex/xelatex" instead~ of~ "latex", or ~"pdflatex". + } + \msg_fatal:nn {unitconv} {need-lualatex/xelatex} + \ExpSyntaxOff + \endinput +\fi + +\RequirePackage{xkeyval,fontspec} + +\newif\ifhv@RTLfootnoterule \hv@RTLfootnoterulefalse +\DeclareOptionX{RTLfootnoterule}[true]{\@nameuse{hv@RTLfootnoterule#1}} +% +\ProcessOptionsX\relax + +\providefontface\RTLfont + [Script=Arabic, % to get correct arabic shaping + Scale=1.2]{Scheherazade} % whatever Arabic font you like +\newfontfamily\hvALM{ALM Fixed}[Scale=0.85] +\newcommand\textRTL[1]{\bgroup\textdir TRT\RTLfont #1\egroup}% Arabic inside LTR +\newcommand\nLTR[1]{\bgroup\textdir TLT #1\egroup}% for digits inside Arabic text +\newcommand\RTLfootnote[1]{\footnote{\textRTL{#1}}}% Arabic footnotes + +\ifhv@RTLfootnoterule + \newenvironment{RTL} + % Arabic paragraph + {\setRTLfootnoterule\textdir TRT\pardir TRT\RTLfont} + {\setLTRfootnoterule} +\else + \newenvironment{RTL} + % Arabic paragraph + {\textdir TRT\pardir TRT\RTLfont} + {} +\fi +\def\setLTRfootnoterule{\let\LTRfootnoterule\footnoterule} +\def\setRTLfootnoterule{% + \global\let\LTRfootnoterule=\footnoterule + \gdef\footnoterule{\noindent\parbox{\textwidth}{\hfill\vbox{\LTRfootnoterule}}}} + +\def\setRTL{\par\textdir TRT\pardir TRT} +\def\setLTR{\par\textdir TLT\pardir TLT} +\endinput + -- cgit v1.2.3