texlive[65438] Master/texmf-dist: beamer-rl (2jan23)
commits+karl at tug.org
commits+karl at tug.org
Mon Jan 2 22:24:32 CET 2023
Revision: 65438
http://tug.org/svn/texlive?view=revision&revision=65438
Author: karl
Date: 2023-01-02 22:24:31 +0100 (Mon, 02 Jan 2023)
Log Message:
-----------
beamer-rl (2jan23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.pdf
trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.tex
trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.pdf
trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.tex
trunk/Master/texmf-dist/doc/lualatex/beamer-rl/README.txt
trunk/Master/texmf-dist/tex/lualatex/beamer-rl/beamer-rl.cls
trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-basic-dictionary-Arabic.dict
trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-theorem-dictionary-Arabic.dict
Modified: trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.tex 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-ar.tex 2023-01-02 21:24:31 UTC (rev 65438)
@@ -1,10 +1,8 @@
-\documentclass[arabic,babel={layout=lists.counters}]{beamer-rl}
+\documentclass[arabic-dz]{beamer-rl}
\usepackage{hologo} % pdflatex, xelatex, lualatex logos
\usepackage{listings}
+\usepackage{multicol}
-\usepackage{tikz}
-
-\babelprovide[import=ar-DZ, main]{arabic}
\babelfont{alm}[Script=Arabic,Scale=.88]{ALM Fixed}
% Themes without Navigation Bars
@@ -94,7 +92,8 @@
\begin{frame}[fragile]
\frametitle{مدخل}
انشاء عرض بيمر عربي (اتجاه النص من اليمين لليسار) اعتمادا على
- \hologo{pdfLaTeX} أو \hologo{XeLaTeX} مازال يعترضه الكثير من المشاكل والمعوقات خاصة ما يتعلق بالألوان والروابط والتي لم يوجد لها حلولا~بعد.
+ \hologo{pdfLaTeX} أو \hologo{XeLaTeX}
+ مازال يعترضه الكثير من المشاكل والمعوقات خاصة ما يتعلق بالألوان والروابط والتي لم يوجد لها حلولا~بعد.
فريق \hologo{LuaTeX}
أوجد حلولا لهذه المشاكل، الشكر لهم ولـ
@@ -102,9 +101,7 @@
لأعماله بالحزمة
\verb|babel| وخصوصا الكتابة بالاتجاهين (\verb|bidi| writing)
-هذه الفئة (class) تعدل في بعض اوامر وتعليمات beamer لغرض انشاء عروض من اليمين إلى اليسار (العربية على سبيل المثال)، الفئة تستدعي \verb|babel| مع الخيار
-\verb|bidi=basic|
- والمعالجة تتطلب استخدام
+هذه الفئة (class) تعدل في بعض اوامر وتعليمات beamer لغرض انشاء عروض من اليمين إلى اليسار (العربية على سبيل المثال)، الفئة تستدعي \verb|babel| ضمنيا مع الخيار \verb|bidi=basic| والمعالجة تتطلب استخدام
\hologo{LuaLaTeX}
\end{frame}
@@ -111,7 +108,7 @@
\section{كيفية استعمال الفئة}
-\begin{frame}[fragile]
+\begin{frame}[fragile,allowframebreaks]
\frametitle{كيفية استعمال الفئة}
\begin{codeblock}
@@ -118,7 +115,7 @@
\documentclass{beamer-rl}
% import languages
-\babelprovide[import=ar-DZ, main]{arabic}
+\babelprovide[import, main]{arabic}
\usetheme{CambridgeUS}
@@ -127,6 +124,65 @@
\end{document}
\end{codeblock}
+نحصل على نتيجة مماثلة باضافة اللغة الأساسية للعرض
+(لغة باتجاه كتابة من اليمين إلى اليسار)
+ ضمن خيار الفئة كما يلي:
+
+\begin{codeblock}
+\documentclass[arabic]{beamer-rl}
+
+\usetheme{CambridgeUS}
+
+\begin{document}
+...
+\end{document}
+\end{codeblock}
+
+يمكن أيضا إضافة خيارات أكثر للغة والتي توفرها التعليمة
+{\textdir TLT \verb|\babelprovide|}
+كما يلي:
+
+\begin{codeblock}
+\documentclass[arabic={mapdigits}]{beamer-rl}
+
+% equivalent to
+% \babelprovide[import,main,mapdigits]{arabic}
+
+\end{codeblock}
+
+الفئة تعرف بنفس الطريقة الخيارات (اللغات المدعومة من الحزمة
+ \verb|babel|
+ وتكتب من اليمين إلى اليسار)
+
+{\selectlanguage{nil}
+\begin{multicols}{3}
+\verb|arabic|\\
+\verb|arabic-dz|\\
+\verb|arabic-tn|\\
+\verb|arabic-ma|\\
+\verb|arabic-eg|\\
+\verb|arabic-sa|\\
+\verb|arabic-iq|\\
+\verb|arabic-sy|\\
+\verb|arabic-lb|\\
+\verb|arabic-ps|\\
+\verb|arabic-jo|\\
+\verb|centralkurdish|\\
+\verb|hebrew|\\
+\verb|kashmiri|\\
+\verb|mazanderani|\\
+\verb|malayalam|\\
+\verb|northernkurdish-arab|\\
+\verb|pashto|\\
+\verb|persian|\\
+\verb|punjabi-arab|\\
+\verb|syriac|\\
+\verb|urdu|\\
+\verb|uyghur|\\
+\verb|uzbek-arab|\\
+\verb|yiddish|\\
+\end{multicols}
+}
\end{frame}
\section{بعض الملاحظات}
@@ -145,18 +201,21 @@
\end{codeblock}
\item
-يمكن اضافة كل الخيارات التي تتيحها الفئة \verb:beamer: عند استدعاء الفئة \verb:beamer-rl:
+الفئة تعرف الخيار
+\verb|layout|
+الذي يمرر محتواه الى الحزمة
+\verb|bebel|
-كما يمكن تمرير خيارات اضافية للحزمة
- \verb:babel:
- عند استدعاء الفئة \verb:beamer-rl: على الشكل:
-
\medskip
\begin{codeblock}
-\documentclass[babel={<babel options>}]{beamer-rl}
+\documentclass[layout={<babel layout>}]{beamer-rl}
\end{codeblock}
+يمكن الاطلاع على المزيد حول الموضوع من دليل الحزمة
+\verb|bebel|
+\href{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}{\beamergotobutton{الرابط}}
+
\item
الفئة
\verb:beamer-rl: تقوم بتبادل لكل من التعليمتين \cs{blacktriangleright} و \cs{blacktriangleleft} في حالة نص من اليمين لليسار
@@ -181,17 +240,6 @@
\bigskip
\item
-
-الخيار
-\verb:arabic:
-للفئة يمكن من استدعاء قاموس عربي لترجمة بعض المفردات مثل
-\verb:example: ،\verb:definition: ،\verb:theorem: ....
-
-\begin{codeblock}
-\documentclass[arabic]{beamer-rl}
-\end{codeblock}
-
-\item
في بعض الحالات يمكن استعمال التعليمة
\cs{babelsublr} التي توفرها الحزمة \verb:bebel:
لادراج نص من اليسار لليمين (لاتيني) في وسط نص من اليمين لليسار،
@@ -219,8 +267,7 @@
\verb:beamer-rl:
\begin{codeblock}
-\documentclass{beamer-rl}
-\babelprovide[import=ar-DZ, main]{arabic}
+\documentclass[arabic]{beamer-rl}
\usetheme{Warsaw}
\usepackage{pgfpages-rl} % adapt pgfpages to TRT pagedir
\setbeamertemplate{note page}[]
@@ -288,7 +335,7 @@
\item ثانيا
\end{enumerate}
\end{column}
-\begin{column}{8.8cm}
+\begin{column}{9cm}
\begin{codeblock}
\setbeamertemplate{enumerate item}[ball]
\begin{enumerate}
@@ -311,7 +358,7 @@
\item ثانيا
\end{itemize}
\end{column}
-\begin{column}{8.8cm}
+\begin{column}{9cm}
\begin{codeblock}
% in RTL context
\setbeamertemplate{itemize item}[triangle]
@@ -327,7 +374,6 @@
\framebreak
\selectlanguage{nil}
-
\begin{columns}[t]
\begin{column}{2cm}
\begin{itemize}
@@ -335,7 +381,7 @@
\item Second
\end{itemize}
\end{column}
-\begin{column}{8.8cm}
+\begin{column}{9cm}
\begin{codeblock}
% in LTR context
\setbeamertemplate{itemize item}[triangle]
Modified: trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.tex 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/doc/lualatex/beamer-rl/Example-of-use-en.tex 2023-01-02 21:24:31 UTC (rev 65438)
@@ -1,10 +1,9 @@
-\documentclass[arabic,babel={layout=lists}]{beamer-rl}
-\usepackage{hologo} % pdflatex, xelatex, lualatex logos
+\documentclass[arabic,english]{beamer-rl}
+\usepackage{hologo} % pdflatex, xelatex, lualatex logos
\usepackage{verbatim}
+\usepackage{listings}
+\usepackage{multicol}
-\babelprovide[import=ar-DZ, main]{arabic}
-\babelprovide[import,language=Default]{english}
-
% Themes without Navigation Bars
%\mode<presentation>{\usetheme{default}}
%\mode<presentation>{\usetheme{boxes}}
@@ -79,6 +78,8 @@
\begin{document}
+\selectlanguage{english}
+
\parskip=6pt
\begin{frame}
@@ -95,7 +96,7 @@
\begin{frame}[fragile]
\frametitle{Introduction}
-Creating beamer presentation for right to left languages (like arabic) using \hologo{pdfLaTeX} or \hologo{XeLaTeX} still poses many problems due to bugs not currently resolved especially for colors and hyperlinks
+Creating beamer presentation for languages with script from right to left (like arabic) using \hologo{pdfLaTeX} or \hologo{XeLaTeX} still poses many problems due to bugs not currently resolved especially for colors.
The \hologo{LuaTeX} team set solutions for these issues thanks to them and to \textit{Javier~Bezos} for his works on the package \verb|babel| and \verb|bidi| writing
@@ -106,7 +107,7 @@
\section{How to use beamer-rl}
-\begin{frame}[fragile]
+\begin{frame}[fragile,allowframebreaks]
\frametitle{How to use beamer-rl}
\begin{codeblock}
@@ -122,6 +123,60 @@
\end{document}
\end{codeblock}
+We get a similar result by adding the main language of the presentation (language with right-to-left script)
+ as option of class as follows:
+
+\begin{codeblock}
+\documentclass[arabic]{beamer-rl}
+
+\usetheme{CambridgeUS}
+
+\begin{document}
+...
+\end{document}
+\end{codeblock}
+
+We can also add more language options that the command \verb|\babelprovide| provides as follows:
+
+\begin{codeblock}
+\documentclass[arabic={mapdigits}]{beamer-rl}
+
+% equivalent to
+% \babelprovide[import,main,mapdigits]{arabic}
+
+\end{codeblock}
+
+The class define in the same way as options (languages supported by the package \verb|babel| with script from right to left)
+
+\begin{multicols}{3}
+\verb|arabic|\\
+\verb|arabic-dz|\\
+\verb|arabic-tn|\\
+\verb|arabic-ma|\\
+\verb|arabic-eg|\\
+\verb|arabic-sa|\\
+\verb|arabic-iq|\\
+\verb|arabic-sy|\\
+\verb|arabic-lb|\\
+\verb|arabic-ps|\\
+\verb|arabic-jo|\\
+\verb|centralkurdish|\\
+\verb|hebrew|\\
+\verb|kashmiri|\\
+\verb|mazanderani|\\
+\verb|malayalam|\\
+\verb|northernkurdish-arab|\\
+\verb|pashto|\\
+\verb|persian|\\
+\verb|punjabi-arab|\\
+\verb|syriac|\\
+\verb|urdu|\\
+\verb|uyghur|\\
+\verb|uzbek-arab|\\
+\verb|yiddish|\\
+\end{multicols}
+
+
\end{frame}
\section{Some notes}
@@ -140,17 +195,17 @@
\end{codeblock}
\item
+The class defines option \verb|layout| which passes its content to \verb|babel|
-All options provided by \verb:beamer: can be added with \verb:beamer-rl:
-
-Additional options can also be passed to package
- \verb:babel:
- with \verb:beamer-rl: like this
-
+\medskip
+
\begin{codeblock}
-\documentclass[babel={<babel options>}]{beamer-rl}
+\documentclass[layout={<babel layout>}]{beamer-rl}
\end{codeblock}
+More on the subject can be found in the manual of \verb|babel| package
+\href{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}{\beamergotobutton{link}}
+
\item
The \verb:beamer-rl: class swap the definition of \verb:\blacktriangleright: with \verb:\blacktriangleleft: in RTL context
@@ -173,15 +228,6 @@
\bigskip
\item
-
-Class option \verb:arabic: call an Arabic dictionary to translate strings like \verb:theorem:, \verb:example:, \verb:definition: ....
-
-
-\begin{codeblock}
-\documentclass[arabic]{beamer-rl}
-\end{codeblock}
-
-\item
In some cases you need to use \verb:\babelsublr: command from \verb:bebel:
package to insert a left to right text within your right to left text, e.g if you need to insert a \verb:pspicture: drawing in RTL context
@@ -263,6 +309,7 @@
\begin{frame}[fragile,allowframebreaks]
\frametitle{enumerate, itemize}
+\selectlanguage{arabic}
\begin{columns}[t,onlytextwidth]
\begin{column}{2cm}
@@ -336,7 +383,10 @@
\begin{frame}[fragile]
\frametitle{Hyperlinks}
-\begin{itemize}
+
+\selectlanguage{arabic}
+
+\begin{itemize}\shapemode2
\item<1-> First.
\item<2-> Second.
\end{itemize}
@@ -361,6 +411,9 @@
\frametitle{Theorems}
\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
+
+\selectlanguage{arabic}
+
\begin{theorem}
There is no largest prime number.
\end{theorem}
@@ -378,9 +431,14 @@
\subsection{Zooming}
+\selectlanguage{arabic}
+
+\setbeamertemplate{frametitle}[default][right]
+
\begin{frame}[fragile]
\frametitle{Zooming}
+
\framezoom<1><2>[border=2](1cm,1cm)(2cm,2cm)
\pgfimage[height=4cm]{example-image}
Modified: trunk/Master/texmf-dist/doc/lualatex/beamer-rl/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/beamer-rl/README.txt 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/doc/lualatex/beamer-rl/README.txt 2023-01-02 21:24:31 UTC (rev 65438)
@@ -1,5 +1,5 @@
The beamer-rl class
-v1.6
+v1.7
This class provides patchs of some beamer templates and commands
for right to left presentation, the class require babel with lualatex engine
@@ -9,12 +9,12 @@
<https://github.com/seloumi/beamer-rl/issues>
-Current version release date: 2022/06/19
+Current version release date: 2023/01/02
___________________
Salim Bou
-Copyright (c) 2019-2022
+Copyright (c) 2019-2023
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
this license is at: http://www.latex-project.org/lppl.txt
Modified: trunk/Master/texmf-dist/tex/lualatex/beamer-rl/beamer-rl.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/beamer-rl/beamer-rl.cls 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/tex/lualatex/beamer-rl/beamer-rl.cls 2023-01-02 21:24:31 UTC (rev 65438)
@@ -1,32 +1,62 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{beamer-rl}
-[2022/06/19 v1.6 LaTeX class to patch beamer for right to left presentation with babel]
+[2023/01/02 v1.7 LaTeX class to patch beamer for right to left presentation with babel]
-\RequirePackage{kvoptions}
-\RequirePackage{kvsetkeys}
+\DeclareKeys
+ {
+ layout .code:n = \PassOptionsToPackage{layout=#1}{babel}
+ ,unknown .code:n = \PassOptionsToClass{\CurrentOption}{beamer}
+ }
-\SetupKeyvalOptions{
- family=beamer-rl,
- prefix=beamer-rl@,
- setkeys=\kvsetkeys,
-}
+\DeclareKeys
+ {
+ arabic .code:n =
+ \PassOptionsToPackage{arabic,provide=*}{babel}
+ \AddToHook{env/document/before}{
+ \babelprovide[#1]{arabic}
+ \uselanguage{Arabic}\languagealias{arabic}{Arabic}
+ %\PassOptionsToPackage{arabic}{translator}
+ },
+ arabic .default:n =
+ }
-% babel options:
-\define at key{beamer-rl}{babel}{%
- \PassOptionsToPackage{#1}{babel}%
-}
+\DeclareKeys
+ {
+ hebrew .code:n =
+ \PassOptionsToPackage{hebrew,provide=*}{babel}
+ \AddToHook{env/document/before}{
+ \babelprovide[#1]{hebrew}
+ %\PassOptionsToPackage{hebrew}{translator}
+ },
+ hebrew .default:n =
+ }
-\DeclareVoidOption{arabic}{%
- \@expandtwoargs\@removeelement\CurrentOption\@classoptionslist\@classoptionslist % remove arabic option from global list
- % \PassOptionsToPackage{arabic}{translator}%
- \AtBeginDocument{\uselanguage{Arabic}\languagealias{arabic}{Arabic}}
-}
+
+\ExplSyntaxOn
+\clist_map_inline:nn {arabic-ma,arabic-tn,arabic-dz,arabic-eg,arabic-sa,arabic-iq,arabic-sy,arabic-lb,arabic-ps,arabic-jo}
+ {
+ \DeclareKeys
+ {
+ #1 .code:n =
+ \AddToHook{env/document/before}{\babelprovide[import,##1,main]{#1}
+ \uselanguage{Arabic}\languagealias{arabic}{Arabic}},
+ %\PassOptionsToPackage{arabic}{translator},
+ #1 .default:n =
+ }
+ }
-\DeclareDefaultOption{%
- \PassOptionsToClass{\CurrentOption}{beamer}%
-}
+\clist_map_inline:nn {syriac,persian,urdu,centralkurdish,kashmiri,mazanderani,northernkurdish-arab,malayalam,pashto,punjabi-arab,uyghur,uzbek-arab,yiddish}
+ {
+ \DeclareKeys
+ {
+ #1 .code:n =
+ \AddToHook{env/document/before}{\babelprovide[import,##1,main]{#1}},
+ #1 .default:n =
+ }
+ }
+\ExplSyntaxOff
-\ProcessKeyvalOptions*\relax
+\ProcessKeyOptions
\RequirePackage{ifluatex}
@@ -39,10 +69,11 @@
\RequirePackage[nil,bidi=basic]{babel}
-\def\reset at temp#1#2{\expandafter\let\csname beamer@@tmpop@#1@#2\endcsname\relax}
-\def\@@defbeamertemplate#1#2{\reset at temp{#1}{#2}\defbeamertemplate{#1}{#2}}
-\def\@defbeamertemplate#1#2{\reset at temp{#1}{#2}\defbeamertemplate*{#1}{#2}}
+\let\oldpgfpicture\pgfpicture
+\let\endoldpgfpicture\endpgfpicture
+\let\oldpgfsys at beginpicture\pgfsys at beginpicture
+
\def\redefbeamertemplate{%
\@ifstar{\@defbeamertemplate}{\@@defbeamertemplate}%
}
@@ -51,21 +82,117 @@
\let\old at blacktriangleleft\blacktriangleleft
\def\blacktriangleright{%
- \ifcase\bbl at thepardir \old at blacktriangleright\else\old at blacktriangleleft\fi}
+ \ifcase\bbl at thepardir\old at blacktriangleright\else\old at blacktriangleleft\fi}
\def\blacktriangleleft{%
- \ifcase\bbl at thepardir \old at blacktriangleleft\else\old at blacktriangleright\fi}
+ \ifcase\bbl at thepardir\old at blacktriangleleft\else\old at blacktriangleright\fi}
+\let\oldpgfuseshading\pgfuseshading
+\def\pgfuseshading#1{\babelsublr{\oldpgfuseshading{#1}}}
-\let\oldpgfpicture\pgfpicture
-\let\endoldpgfpicture\endpgfpicture
+% add graphics layout by default
-\def\pgfpicture{\babelsublr\bgroup\oldpgfpicture}
-\def\endpgfpicture{\endoldpgfpicture\egroup}
+\let\bbl at pictresetdir\relax
+ \def\bbl at pictsetdir#1{%
+ \ifcase\bbl at thetextdir
+ \let\bbl at pictresetdir\relax
+ \else
+ \ifcase#1\bodydir TLT % Remember this sets the inner boxes
+ \or\textdir TLT
+ \else\bodydir TLT \textdir TLT
+ \fi
+ % \(text|par)dir required in pgf:
+ \def\bbl at pictresetdir{\bodydir TRT\pardir TRT\textdir TRT\relax}%
+ \fi}%
+ \AddToHook{env/picture/begin}{\bbl at pictsetdir\tw@}%
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ %
+ function Babel.picture_dir (head)
+ if not Babel.get_picture_dir then return head end
+ if Babel.hlist_has_bidi(head) then
+ Babel.picture_has_bidi = 1
+ end
+ return head
+ end
+ luatexbase.add_to_callback("hpack_filter", Babel.picture_dir,
+ "Babel.picture_dir")
+ }%
+ \AtBeginDocument{%
+ \def\LS at rot{%
+ \setbox\@outputbox\vbox{%
+ \hbox dir TLT{\rotatebox{90}{\box\@outputbox}}}}%
+ \long\def\put(#1,#2)#3{%
+ \@killglue
+ % Try:
+ \ifx\bbl at pictresetdir\relax
+ \def\bbl at tempc{0}%
+ \else
+ \directlua{
+ Babel.get_picture_dir = true
+ Babel.picture_has_bidi = 0
+ }%
+ \setbox\z@\hb at xt@\z@{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \kern\@tempdimc
+ #3\hss}% TODO: #3 executed twice (below). That’s bad.
+ \edef\bbl at tempc{\directlua{tex.print(Babel.picture_has_bidi)}}%
+ \fi
+ % Do:
+ \@defaultunitsset\@tempdimc{#2}\unitlength
+ \raise\@tempdimc\hb at xt@\z@{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \kern\@tempdimc
+ {\ifnum\bbl at tempc>\z@\bbl at pictresetdir\fi#3}\hss}%
+ \ignorespaces}%
+ \MakeRobust\put}%
+ \AtBeginDocument
+ {\AddToHook{cmd/diagbox at pict/before}{\let\bbl at pictsetdir\@gobble}%
+ \AddToHook{env/pgfpicture/begin}{\bbl at pictsetdir\@ne}%
+ \bbl at add\pgfinterruptpicture{\bbl at pictresetdir}%
+ \bbl at add\pgfsys at beginpicture{\bbl at pictsetdir\@ne}%
+ \ifx\tikzpicture\@undefined\else
+ \AddToHook{env/tikzpicture/begin}{\bbl at pictsetdir\tw@}%
+ \bbl at add\tikz at atbegin@node{\bbl at pictresetdir}%
+ \bbl at sreplace\tikz{\begingroup}{\begingroup\bbl at pictsetdir\tw@}%
+ \fi
+ \ifx\tcolorbox\@undefined\else
+ \def\tcb at drawing@env at begin{%
+ \csname tcb at before@\tcb at split@state\endcsname
+ \bbl at pictsetdir\tw@
+ \begin{\kvtcb at graphenv}%
+ \tcb at bbdraw%
+ \tcb at apply@graph at patches
+ }%
+ \def\tcb at drawing@env at end{%
+ \end{\kvtcb at graphenv}%
+ \bbl at pictresetdir
+ \csname tcb at after@\tcb at split@state\endcsname
+ }%
+ \fi
+ }
+
+\def\reset at temp#1#2{\expandafter\let\csname beamer@@tmpop@#1@#2\endcsname\relax}
+\def\@@defbeamertemplate#1#2{\reset at temp{#1}{#2}\defbeamertemplate{#1}{#2}}
+\def\@defbeamertemplate#1#2{\reset at temp{#1}{#2}\defbeamertemplate*{#1}{#2}}
-\let\oldpgfuseshading\pgfuseshading
-\def\pgfuseshading#1{\babelsublr{\oldpgfuseshading{#1}}}
+%% beamerbasenotes
+\defbeameroption{show notes on second screen}[right]%
+{
+ \ifx\@onlypreamble\@notprerr
+ \ltx at ifpackageloaded{pgfpages}{}{%
+ \ClassError{beamer}{`pgfpages' package necessary for this option}{}%
+ }%
+ \else%
+ \RequirePackage{pgfpages-rl}
+ \fi%
+ \pgfpagesuselayout{two screens with optional second}[second #1]
+ \beamer at twoscreensnotestrue
+ \beamer at notestrue
+}
+
%% beamerbasebox
\newdimen\bmb at dimc
@@ -95,10 +222,10 @@
#2%
\end{minipage}}%
\ifdim\wd\bmb at box=0pt%
- \ifcase\bbl at thetextdir\relax
- \else%
- \bmb at dimc=\bmb at width%
- \fi% <--
+ \ifnum\textdirection=\z@
+ \else%
+ \bmb at dimc=\bmb at width%
+ \fi% <--
\setbox\bmb at box=\hbox{}%
\ht\bmb at box=1.5pt%
\bmb at prevheight=-4.5pt%
@@ -162,11 +289,116 @@
%\color{.}%
}
-\bbl at sreplace\endbeamerboxesrounded{\begin{pgfpicture}}%
- {\textdir TLT\begin{pgfpicture}}%
+\newdimen\bmb at dimd
+\def\endbeamerboxesrounded{%
+ \end{minipage}\egroup%
+ \bmb at temp=\dp\bmb at box%
+ \advance\bmb at temp by.5pt%
+ \setbox\bmb at box=\hbox{\raise\bmb at temp\hbox{\box\bmb at box}}%
+ \dp\bmb at box=0pt%
+ \bmb at boxwidth=\bmb at width%
+ \bmb at boxheight=\ht\bmb at box%
+ \advance\bmb at boxheight by4bp%
+ \advance\bmb at boxheight by\bmb at prevheight%
+ \ifbmb at shadow%
+ \xdef\beamer at storecolorhook{\beamer at colorhook}
+ \xdef\beamer at colorhook{}
+ \pgfdeclareradialshading{bmb at shadowball}{\pgfpointorigin}
+ {%
+ color(0bp)=(pgftransparent!50);
+ color(4bp)=(pgftransparent!100)
+ }%
+ \pgfdeclareradialshading{bmb at shadowballlarge}{\pgfpointorigin}
+ {%
+ color(0bp)=(pgftransparent!0);
+ color(8bp)=(pgftransparent!100)
+ }%
+ \pgfdeclarehorizontalshading{bmb at shadowhorz\the\bmb at boxheight}{\bmb at boxheight-5.5bp}
+ {%
+ color(0bp)=(pgftransparent!0);
+ color(8bp)=(pgftransparent!100)
+ }%
+ \pgfdeclareverticalshading{bmb at shadowvert\the\bmb at boxwidth}{\bmb at boxwidth-4bp}
+ {%
+ color(0bp)=(pgftransparent!100);
+ color(8bp)=(pgftransparent!0)
+ }%
+ \begingroup%
+ \selectcolormodel{gray}
+ \pgfdeclarefading{bmb at shadowmask\the\bmb at boxwidth\the\bmb at boxheight}
+ {%
+ \textdir TLT
+ \begin{pgfpicture}
+ \pgftext[at=\pgfpoint{4bp}{4bp}]{\pgfuseshading{bmb at shadowball}}% bottom left shadow
+ \ifdim\bmb at boxheight>9.5bp%
+ \pgftext[at=\pgfpoint{\bmb at boxwidth}{8bp}]{\pgfuseshading{bmb at shadowballlarge}}% bottom right shadow
+ \pgftext[at=\pgfpoint{\bmb at boxwidth+4bp}{\bmb at boxheight+2bp}]{\pgfuseshading{bmb at shadowball}}% top right shadow
+ \pgftext[base, at=\pgfpoint{\bmb at boxwidth+4bp}{7.5bp}]{\pgfuseshading{bmb at shadowhorz\the\bmb at boxheight}}% right edge shadow
+ \else%
+ \pgftext[at=\pgfpoint{\bmb at boxwidth}{4bp}]{\pgfuseshading{bmb at shadowball}}% right shadow
+ \fi%
+ \pgftext[left, at=\pgfpoint{4bp}{4bp}]{\pgfuseshading{bmb at shadowvert\the\bmb at boxwidth}}% bottom edge
+ %
+ % clipping is needed because shadow is typeset on top of box
+ \begin{pgfscope}
+ \pgfsetcolor{beamer at safeblack}
+ \pgfpathrectangle{\pgfpoint{4bp}{8.1bp}}{\pgfpoint{\bmb at boxwidth}{\bmb at boxheight-2bp}}
+ \pgfusepath{fill}
+ \end{pgfscope}
+ \end{pgfpicture}%
+ \hskip4bp%
+ }%
+ \endgroup%
+ \fi%
+ \bmb at temp=\bmb at width%
+ \bmb at dima=\bmb at temp\advance\bmb at dima by2.2bp%
+ \bmb at dimb=\bmb at temp\advance\bmb at dimb by4bp%
+ \ifdim\wd\bmb at box=0pt%
+ \ifnum\textdirection=\z@
+ \else
+ \bmb at dimd=\bmb at width%
+ \fi%
+ \fi%
+ \hbox{\textdir TLT%
+ \begin{pgfpicture}{0bp}{0bp}{\bmb at dimd}{0bp}
+ \ifbmb at shadow%
+ \begin{pgfscope}
+ \pgfpathrectangle{\pgfpoint{0bp}{-7bp}}
+ {\pgfpoint{\bmb at boxwidth+8bp}{\bmb at boxheight+6bp}}
+ \pgfsetfading{bmb at shadowmask\the\bmb at boxwidth\the\bmb at boxheight}{%
+ \pgftransformshift{\pgfpoint{0.5\bmb at boxwidth+6bp}{0.5\bmb at boxheight-4bp}}}
+ \pgfusepath{fill}
+ \end{pgfscope}
+ \fi%
+ \unhbox\bmb at colorbox%
+ \pgfpathqmoveto{-4bp}{1bp}
+ \pgfpathqcurveto{-4bp}{-1.2bp}{-2.2bp}{-3bp}{0bp}{-3bp}
+ \pgfpathlineto{\pgfpoint{\the\bmb at temp}{-3bp}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\bmb at dima}{-3bp}}%
+ {\pgfpoint{\the\bmb at dimb}{-1.2bp}}%
+ {\pgfpoint{\the\bmb at dimb}{1bp}}%
+ {
+ \bmb at dima=\ht\bmb at box%
+ \pgfpathlineto{\pgfpoint{\bmb at dimb}{\bmb at dima}}
+ \pgfpathlineto{\pgfpoint{-4bp}{\bmb at dima}}
+ \pgfusepath{fill}
+ }
+ \end{pgfpicture}%
+ \box\bmb at box%
+ }%
+ \ifbmb at shadow%
+ \vskip4bp minus 2bp%
+ \else%
+ \vskip2bp%
+ \fi%
+ \egroup% of \vbox\bgroup
+ \ifbmb at shadow%
+ \xdef\beamer at colorhook{\beamer at storecolorhook}
+ \fi
+}
-
%% beamerbaseauxtemplates
@@ -173,7 +405,7 @@
% (sub-)section in toc: subsections numbered
\redefbeamertemplate{subsection in toc}{subsections numbered}
-{\leavevmode\leftskip=2em\rlap{\hskip-2em \inserttocsectionnumber\hbox{.}\inserttocsubsectionnumber}\inserttocsubsection\par}
+{\leavevmode\leftskip=2em\rlap{\hskip-2em \babelsublr{\inserttocsectionnumber}.\babelsublr{\inserttocsubsectionnumber}}\inserttocsubsection\par}
%% beamerinnerthemedefault
@@ -293,125 +525,26 @@
%
% Zoom stuff
%
+% The patch need improvement to cover all cases
-\def\beamer at framezoom<#1><#2>[#3](#4,#5)(#6,#7){%
- \par\nointerlineskip%
- \global\beamer at slidehaszoomtrue%
- \advance\beamer at zoomcount by1\relax%
- \def\beamer at zoomborderwidth{0}%
- \edef\beamer at labelzoomed{beamer at labelzoomed@\the\beamer at zoomframecount @\the\beamer at zoomcount}%
- \setkeys{beamerzoom}{#3}%
- \only<#1>{%
- {\hypersetup{pdfhighlight={/P},pdfborder={0 0 \beamer at zoomborderwidth}}%
- \global\setbox\@tempboxa=\vbox{\hyperlink{\beamer at labelzoomed}{\vbox to #7{\hbox
- to#6{\hfil}\vfil}}}}%
- \ht\@tempboxa=0pt%
- \wd\@tempboxa=0pt%
- \dp\@tempboxa=0pt%
- \setbox\@tempboxa=\vbox{\moveright#4\hbox{\lower#5\vbox{\box\@tempboxa}}}%
- \ht\@tempboxa=0pt%
- \wd\@tempboxa=0pt%
- \dp\@tempboxa=0pt%
- \global\setbox\beamer at zoombox=\vbox to0pt{\unvbox\beamer at zoombox\box\@tempboxa}%
- }%
- \only<#2>{%
- \@ifundefined{\beamer at labelzoomed}%
- {%
- \hypertarget{\beamer at labelzoomed}{}%
- \expandafter\gdef\csname\beamer at labelzoomed\endcsname{}%
- }{}%
- \gdef\beamer at zoomer{%
- % compute zoom factor
- \@tempdima=\beamer at frametextheight%
- \@tempdimb=#7\relax%
- \@tempcnta=\@tempdimb%
- \divide\@tempcnta by4096\relax%
- \multiply\@tempdima by16\relax%
- \divide\@tempdima by\@tempcnta%
- \@tempdimb=\paperwidth%
- \ifbeamer at plainframe%
- \else%
- \advance\@tempdimb by-\beamer at leftsidebar%
- \advance\@tempdimb by-\beamer at rightsidebar\relax%
- \fi%
- \@tempdimc=#6\relax%
- \@tempcntb=\@tempdimc%
- \divide\@tempcntb by4096\relax%
- \multiply\@tempdimb by16\relax%
- \divide\@tempdimb by\@tempcntb%
- \ifdim\@tempdimb<\@tempdima%
- \@tempdima=\@tempdimb%
- \fi%
- \edef\beamer at temp{\strip at pt\@tempdima}%
- \@tempdimc=\beamer at frametextheight%
- \advance\@tempdimc by4pt%
- \@tempdimb=\paperwidth%
- \ifbeamer at plainframe%
- \else%
- \advance\@tempdimb by-\beamer at leftsidebar%
- \advance\@tempdimb by-\beamer at rightsidebar\relax%
- \fi%
- \setbox\@tempboxa=\vbox{\hsize=\@tempdimb\Acrobatmenu{GoBack}{\vbox to
- \beamer at frametextheight{\hbox to\@tempdimb{\hfil}\vfil}}}%
- \ht\@tempboxa=0pt%
- \wd\@tempboxa=0pt%
- \dp\@tempboxa=0pt%
- \setbox\beamer at framebox=\vbox to\beamer at frametextheight{{%
- \ifbeamer at plainframe\beamer at leftmargin=\Gm at lmargin\fi%
- \ifcase\bbl at thepardir \else\multiply\@tempdimb by -1\relax\fi%
- \begin{oldpgfpicture}{\beamer at leftmargin}{-\beamer at frametextheight}{\beamer at leftmargin}{0pt}
- \pgftext[left,top]{\box\@tempboxa}
- \pgfpathrectangle{\pgfpoint{0pt}{-\@tempdimc}}{\pgfpoint{\@tempdimb}{\@tempdimc}}%
- \pgfusepath{clip}
- \begingroup
- \pgftransformscale{\beamer at temp}
- \@tempdima=#4\relax%
- \@tempdimb=#5\relax%
- {\pgftransformshift{\pgfpoint{-\@tempdima}{\@tempdimb}}%
- \pgftext[left,top]{\vbox{\vbox{}\nointerlineskip\unvbox\beamer at framebox }}}
- \endgroup
- \end{oldpgfpicture}%
- }}%
- \setbox\beamer at framebox=\vbox{%
- \nobreak\vbox{}\nobreak\par\nobreak\beamer at entrycode\nobreak%
- \nointerlineskip\unvbox\beamer at frametitlebox%
- \nobreak%
- \box\beamer at framebox%
- \nobreak%
- \vss%
- \beamer at exitcode%
- }%
- \global\setbox\beamer at footins=\box\voidb at x% no footnotes in zoomed slides
- }%
- }%
-}
+\bbl at sreplace\beamer at framezoom{\begin{pgfpicture}}%
+{\ifcase\bbl at thepardir \else\multiply\@tempdimb by\m at ne\relax
+\let\pgfsys at beginpicture\oldpgfsys at beginpicture\fi%
+\begin{pgfpicture}}%
-
%
% Shrink stuff
%
-
- \bbl at sreplace\beamer at shrinkframebox{\vbox}%
+\bbl at sreplace\beamer at shrinkframebox{\vbox}%
{\vbox dir TLT}%
-% Temporary workaround for issue of \shapemode bug
+% issue of \shapemode bug
% https://github.com/latex3/babel/issues/13
-% this work fine with lists inside frame, if they are included within \vbox
-% may be we need to insert \shapemode=2 or \shapemode=0 manualy at beginning of list
+% we need to insert \shapemode=2 or \shapemode=0 manualy at beginning of list
% \begin{enumerate} \shapemode=.. & \begin{itemize} \shapemode=..
-\newcounter{beginframepardir}
-\let\oldframe\frame
-\def\frame{\setcounter{beginframepardir}{\bbl at getluadir{par}}
-% 0 for TLT 1 for TRT
-\oldframe}
-
-\redefbeamertemplate*{itemize/enumerate body begin}{default}{\ifnum\value{beginframepardir}=\bbl at getluadir{par} \else\shapemode=2\fi}
-
-\redefbeamertemplate*{description body begin}{default}{\ifnum\value{beginframepardir}=\bbl at getluadir{par} \else\shapemode \tw@\fi}
-
% Use Amiri as default sans serif font
\font\sffont at rl="Amiri" at 10pt
@@ -420,5 +553,4 @@
\babelfont{sf}{Amiri}
\fi
-
\endinput
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-basic-dictionary-Arabic.dict
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-basic-dictionary-Arabic.dict 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-basic-dictionary-Arabic.dict 2023-01-02 21:24:31 UTC (rev 65438)
@@ -6,35 +6,34 @@
\providetranslation{Address}{عنوان}
\providetranslation{address}{عنوان}
\providetranslation{and}{و}
-\providetranslation{Appendix}{ملحق}
-\providetranslation{Authors}{المؤلفين}
-\providetranslation{authors}{المؤلفين}
+\providetranslation{Appendix}{الملاحق}
+\providetranslation{Authors}{المؤلفون}
+\providetranslation{authors}{المؤلفون}
\providetranslation{Author}{المؤلف}
-\providetranslation{author}{المؤلف}
-\providetranslation{Bibliography}{مصادر}
+\providetranslation{author}{المؤلفون}
+\providetranslation{Bibliography}{المصادر}
\providetranslation{cc}{نسخة لـ}
-\providetranslation{Chapters}{أبواب}
-\providetranslation{chapters}{أبواب}
-\providetranslation{Chapter}{باب}
-\providetranslation{chapter}{باب}
-\providetranslation{Conclusion}{نتيجة}
-\providetranslation{conclusion}{نتيجة}
+\providetranslation{Chapters}{الأبواب}
+\providetranslation{chapters}{الأبواب}
+\providetranslation{Chapter}{الباب}
+\providetranslation{chapter}{الباب}
+\providetranslation{Conclusion}{استنتاج}
+\providetranslation{conclusion}{استنتاج}
\providetranslation{Contents}{المحتويات}
-\providetranslation{Continuation}{تابع}
-\providetranslation{continuation}{تابع}
-\providetranslation{cont}{تابع} % FIXME: unsure
-\providetranslation{encl (plural)}{}
-\providetranslation{encl (singular)}{}
-\providetranslation{encl}{}
-\providetranslation{Figures}{أشكال}
-\providetranslation{figures}{أشكال}
-\providetranslation{Figure}{شكل}
-\providetranslation{figure}{شكل}
+\providetranslation{Continuation}{التالي}
+\providetranslation{continuation}{التالي}
+\providetranslation{cont}{التالي}
+\providetranslation{encl (plural)}{المرفقات}
+\providetranslation{encl (singular)}{المرفق}
+\providetranslation{encl}{المرفق}
+\providetranslation{Figures}{الأشكال}
+\providetranslation{figures}{الأشكال}
+\providetranslation{Figure}{الشكل}
+\providetranslation{figure}{الشكل}
\providetranslation{From}{من}
\providetranslation{from}{من}
-\providetranslation{From?}{من أين؟}
-\providetranslation{Glossary}{قاموس}
-\providetranslation{Index}{فهرس}
+\providetranslation{Glossary}{قائمة المصطلحات}
+\providetranslation{Index}{الفهرس}
\providetranslation{Introduction}{مدخل}
\providetranslation{introduction}{مدخل}
\providetranslation{List of Figures and Tables}{قائمة الأشكال والجداول}
@@ -41,8 +40,8 @@
\providetranslation{List of Figures}{قائمة الأشكال}
\providetranslation{List of Tables}{قائمة الجداول}
\providetranslation{or}{أو}
-\providetranslation{Outline}{الخطوط العريضة}
-\providetranslation{Overview}{نظرة عامة}
+\providetranslation{Outline}{الخطة}
+\providetranslation{Overview}{الملخص}
\providetranslation{Pages}{صفحات}
\providetranslation{pages}{صفحات}
\providetranslation{Page}{صفحة}
@@ -51,41 +50,38 @@
\providetranslation{paragraphs}{فقرات}
\providetranslation{Paragraph}{فقرة}
\providetranslation{paragraph}{فقرة}
-\providetranslation{Parts}{أقسام}
-\providetranslation{parts}{أقسام}
-\providetranslation{Part}{قسم}
-\providetranslation{part}{قسم}
-\providetranslation{Preface}{تمهيد}
+\providetranslation{Parts}{أجزاء}
+\providetranslation{parts}{أجزاء}
+\providetranslation{Part}{جزء}
+\providetranslation{part}{جزء}
+\providetranslation{Preface}{مدخل}
\providetranslation{Proofs}{براهين}
\providetranslation{proofs}{براهين}
\providetranslation{Proof}{برهان}
\providetranslation{proof}{برهان}
\providetranslation{References}{مراجع}
-\providetranslation{Related work}{أعمال مرتبطة}
-\providetranslation{Related Work}{أعمال مرتبطة}
-\providetranslation{Sections}{فصول}
-\providetranslation{sections}{فصول}
-\providetranslation{Section}{فصل}
-\providetranslation{section}{فصل}
+\providetranslation{Related work}{الأعمال ذات الصلة}
+\providetranslation{Related Work}{الأعمال ذات الصلة}
+\providetranslation{Sections}{الفصول}
+\providetranslation{sections}{الفصول}
+\providetranslation{Section}{الفصل}
+\providetranslation{section}{الفصل}
\providetranslation{See also}{أنظر أيضا}
\providetranslation{see also}{أنظر أيضا}
\providetranslation{See}{أنظر}
\providetranslation{see}{أنظر}
-\providetranslation{Sketch of Proofs}{رسم البراهين}
-\providetranslation{Sketch of proofs}{رسم البراهين}
-\providetranslation{Sketch of Proof}{رسم البرهان}
-\providetranslation{Sketch of proof}{رسم البرهان}
-\providetranslation{Subsections}{فصول فرعية}
-\providetranslation{subsections}{فصول فرعية}
-\providetranslation{Subsection}{فصل فرعي}
-\providetranslation{subsection}{فصل فرعي}
-\providetranslation{Summary}{ملخص}
-\providetranslation{Tables}{جداول}
-\providetranslation{tables}{جداول}
-\providetranslation{Table}{جدول}
-\providetranslation{table}{جدول}
+\providetranslation{Sketch of Proofs}{رسم تخطيطي للبراهين}
+\providetranslation{Sketch of proofs}{رسم تخطيطي للبراهين}
+\providetranslation{Sketch of Proof}{رسم تخطيطي للبرهان}
+\providetranslation{Sketch of proof}{رسم تخطيطي للبرهان}
+\providetranslation{Subsections}{الفصول الفرعية}
+\providetranslation{subsections}{الفصول الفرعية}
+\providetranslation{Subsection}{الفصل الفرعي}
+\providetranslation{subsection}{الفصل الفرعي}
+\providetranslation{Summary}{الملخص}
+\providetranslation{Tables}{الجداول}
+\providetranslation{tables}{الجداول}
+\providetranslation{Table}{الجدول}
+\providetranslation{table}{الجدول}
\providetranslation{To}{إلى}
\providetranslation{to}{إلى}
-\providetranslation{When?}{متى?}
-\providetranslation{Who?}{من?}
-
Modified: trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-theorem-dictionary-Arabic.dict
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-theorem-dictionary-Arabic.dict 2023-01-02 21:24:14 UTC (rev 65437)
+++ trunk/Master/texmf-dist/tex/lualatex/beamer-rl/translator-theorem-dictionary-Arabic.dict 2023-01-02 21:24:31 UTC (rev 65438)
@@ -58,16 +58,10 @@
\providetranslation{Proof Sketches}{مخططات البرهان}
\providetranslation{Proof sketches}{مخططات البرهان}
\providetranslation{proof sketches}{مخططات البرهان}
-\providetranslation{Sketch of Proof}{Esquisse de preuve}
-\providetranslation{Sketch of Proofs}{Esquisse de preuves}
-\providetranslation{Sketch of proof}{Esquisse de preuve}
-\providetranslation{Sketch of proofs}{Esquisse de preuves}
-\providetranslation{sketch of proof}{esquisse de preuve}
-\providetranslation{sketch of proofs}{esquisse de preuves}
-\providetranslation{Propositions}{Propositions}
-\providetranslation{propositions}{propositions}
-\providetranslation{Proposition}{Proposition}
-\providetranslation{proposition}{proposition}
+\providetranslation{Propositions}{قضايا}
+\providetranslation{propositions}{قضايا}
+\providetranslation{Proposition}{قضية}
+\providetranslation{proposition}{قضية}
\providetranslation{Remarks}{ملاحظات}
\providetranslation{remarks}{ملاحظات}
\providetranslation{Remark}{ملاحظة}
More information about the tex-live-commits
mailing list.