summaryrefslogtreecommitdiff
path: root/macros/luatex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex')
-rw-r--r--macros/luatex/latex/beamer-rl/Arabic_dictionaries/translator-basic-dictionary-Arabic.dict4
-rw-r--r--macros/luatex/latex/beamer-rl/Example-of-use-ar.pdfbin129688 -> 130512 bytes
-rw-r--r--macros/luatex/latex/beamer-rl/Example-of-use-ar.tex163
-rw-r--r--macros/luatex/latex/beamer-rl/Example-of-use-en.pdfbin102905 -> 103537 bytes
-rw-r--r--macros/luatex/latex/beamer-rl/Example-of-use-en.tex155
-rw-r--r--macros/luatex/latex/beamer-rl/README.txt8
-rw-r--r--macros/luatex/latex/beamer-rl/beamer-rl.cls1026
7 files changed, 698 insertions, 658 deletions
diff --git a/macros/luatex/latex/beamer-rl/Arabic_dictionaries/translator-basic-dictionary-Arabic.dict b/macros/luatex/latex/beamer-rl/Arabic_dictionaries/translator-basic-dictionary-Arabic.dict
index 6f44d3c37e..c02c35aebd 100644
--- a/macros/luatex/latex/beamer-rl/Arabic_dictionaries/translator-basic-dictionary-Arabic.dict
+++ b/macros/luatex/latex/beamer-rl/Arabic_dictionaries/translator-basic-dictionary-Arabic.dict
@@ -32,6 +32,7 @@
\providetranslation{figure}{شكل}
\providetranslation{From}{من}
\providetranslation{from}{من}
+\providetranslation{From?}{من أين؟}
\providetranslation{Glossary}{قاموس}
\providetranslation{Index}{فهرس}
\providetranslation{Introduction}{مدخل}
@@ -85,3 +86,6 @@
\providetranslation{table}{جدول}
\providetranslation{To}{إلى}
\providetranslation{to}{إلى}
+\providetranslation{When?}{متى?}
+\providetranslation{Who?}{من?}
+
diff --git a/macros/luatex/latex/beamer-rl/Example-of-use-ar.pdf b/macros/luatex/latex/beamer-rl/Example-of-use-ar.pdf
index 8c73409ff3..b64a2f91f2 100644
--- a/macros/luatex/latex/beamer-rl/Example-of-use-ar.pdf
+++ b/macros/luatex/latex/beamer-rl/Example-of-use-ar.pdf
Binary files differ
diff --git a/macros/luatex/latex/beamer-rl/Example-of-use-ar.tex b/macros/luatex/latex/beamer-rl/Example-of-use-ar.tex
index 0a68f44768..beb958a7b7 100644
--- a/macros/luatex/latex/beamer-rl/Example-of-use-ar.tex
+++ b/macros/luatex/latex/beamer-rl/Example-of-use-ar.tex
@@ -113,6 +113,85 @@
\end{frame}
+\section{بعض الملاحظات}
+
+\begin{frame}[fragile,allowframebreaks]
+\frametitle{بعض الملاحظات}
+
+\begin{itemize}
+\item
+يمكن اضافة كل الخيارات التي تتيحها الفئة \verb:beamer: عند استدعاء الفئة \verb:beamer-rl:
+
+كما يمكن تمرير خيارات اضافية للحزمة
+ \verb:babel:
+ عند استدعاء الفئة \verb:beamer-rl: على الشكل:
+
+\medskip
+
+{\selectlanguage{nil}
+\verb:\documentclass[babel={<babel options>}]{beamer-rl}:
+}
+
+\medskip
+
+\item
+الفئة
+ \verb:beamer-rl: تقوم بتبادل لكل من التعليمتين \cs{blacktriangleright} و \cs{blacktriangleleft} في حالة نص من اليمين لليسار
+
+\bigskip
+
+{%
+\renewcommand{\arraystretch}{1.3}
+\centering
+\begin{tabular}{ccc}
+\hline
+ & \verb:\blacktriangleright: & \verb:\blacktriangleleft: \\
+\hline
+LTR context & \blacktriangleright & \blacktriangleleft \\
+\hline
+RTL context & \selectlanguage{nil}\blacktriangleright & \selectlanguage{nil}\blacktriangleleft \\
+\hline
+\end{tabular}
+\par
+}
+
+\bigskip
+
+\item
+
+الخيار
+\verb:arabic:
+للفئة يمكن من استدعاء قاموس عربي لترجمة بعض المفردات مثل
+\verb:example: ،\verb:definition: ،\verb:theorem: ....
+
+
+\medskip
+
+{\selectlanguage{nil}
+\verb:\documentclass[arabic]{beamer-rl}:
+}
+
+\medskip
+
+\item
+في بعض الحالات يمكن استعمال التعليمة
+ \cs{babelsublr} التي توفرها الحزمة \verb:bebel:
+لادراج نص من اليسار لليمين (لاتيني) في وسط نص من اليمين لليسار،
+ على سبيل المثال في حال الحاجة إلى ادراج رسم
+ \verb:pspicture: ضمن نص من اليمين لليسار.
+
+\medskip
+
+{\selectlanguage{nil}
+\verb:\bebelsublr{LTR context ... }:
+}
+
+\end{itemize}
+
+
+\end{frame}
+
+
\section{أمثلة}
\subsection{الإطارات}
@@ -221,94 +300,18 @@ number not in the first $p$ numbers.\qedhere
\begin{frame}[fragile]
\frametitle{التكبير}
-\framezoom<1><2>[border=2](2cm,2cm)(2cm,2cm)
+\framezoom<1><2>[border=2](3cm,2cm)(2cm,2cm)
\pgfimage[height=5cm]{example-image}
\selectlanguage{nil}
\begin{verbatim}
-\framezoom<1><2>[border=2](2cm,2cm)(2cm,2cm)
+\framezoom<1><2>[border=2](3cm,2cm)(2cm,2cm)
+% (3cm,2cm)=(<upper right x>,<upper right y>)
+% (2cm,2cm)=(<zoom area width>,<zoom area depth>)
\pgfimage[height=5cm]{example-image}
\end{verbatim}
\end{frame}
-\section{بعض الملاحظات}
-
-\begin{frame}[fragile,allowframebreaks]
-\frametitle{بعض الملاحظات}
-
-\begin{itemize}
-\item
-يمكن اضافة كل الخيارات التي تتيحها الفئة \verb:beamer: عند استدعاء الفئة \verb:beamer-rl:
-
-كما يمكن تمرير خيارات اضافية للحزمة
- \verb:babel:
- عند استدعاء الفئة \verb:beamer-rl: على الشكل:
-
-\medskip
-
-{\selectlanguage{nil}
-\verb:\documentclass[babel={<babel options>}]{beamer-rl}:
-}
-
-\medskip
-
-\item
-الفئة
- \verb:beamer-rl: تقوم بتبادل لكل من التعليمتين \cs{blacktriangleright} و \cs{blacktriangleleft} في حالة نص من اليمين لليسار
-
-\bigskip
-
-{%
-\renewcommand{\arraystretch}{1.3}
-\centering
-\begin{tabular}{ccc}
-\hline
- & \verb:\blacktriangleright: & \verb:\blacktriangleleft: \\
-\hline
-LTR context & \blacktriangleright & \blacktriangleleft \\
-\hline
-RTL context & \selectlanguage{nil}\blacktriangleright & \selectlanguage{nil}\blacktriangleleft \\
-\hline
-\end{tabular}
-\par
-}
-
-\bigskip
-
-\item
-
-الخيار
-\verb:arabic:
-للفئة يمكن من استدعاء قاموس عربي لترجمة بعض المفردات مثل
-\verb:example: ،\verb:definition: ،\verb:theorem: ....
-
-
-\medskip
-
-{\selectlanguage{nil}
-\verb:\documentclass[arabic]{beamer-rl}:
-}
-
-\medskip
-
-\item
-في بعض الحالات يمكن استعمال التعليمة
- \cs{babelsublr} التي توفرها الحزمة \verb:bebel:
-لادراج نص من اليسار لليمين (لاتيني) في وسط نص من اليمين لليسار،
- على سبيل المثال في حال الحاجة إلى ادراج رسم
- \verb:pspicture: ضمن نص من اليمين لليسار.
-
-\medskip
-
-{\selectlanguage{nil}
-\verb:\bebelsublr{LTR context ... }:
-}
-
-\end{itemize}
-
-
-\end{frame}
-
\end{document}
diff --git a/macros/luatex/latex/beamer-rl/Example-of-use-en.pdf b/macros/luatex/latex/beamer-rl/Example-of-use-en.pdf
index 68a81c8329..e80315dae6 100644
--- a/macros/luatex/latex/beamer-rl/Example-of-use-en.pdf
+++ b/macros/luatex/latex/beamer-rl/Example-of-use-en.pdf
Binary files differ
diff --git a/macros/luatex/latex/beamer-rl/Example-of-use-en.tex b/macros/luatex/latex/beamer-rl/Example-of-use-en.tex
index 662992fd66..0827670803 100644
--- a/macros/luatex/latex/beamer-rl/Example-of-use-en.tex
+++ b/macros/luatex/latex/beamer-rl/Example-of-use-en.tex
@@ -106,6 +106,81 @@ for right to left presentation, this package call babel with \verb|bidi=basic-r|
\end{frame}
+\section{Some notes}
+
+\begin{frame}[fragile,allowframebreaks]
+\frametitle{Some notes}
+
+\begin{itemize}
+
+\item
+
+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
+
+{\selectlanguage{nil}
+\verb:\documentclass[babel={<babel options>}]{beamer-rl}:
+}
+
+\medskip
+
+\item
+The \verb:beamer-rl: class swap the definition of \verb:\blacktriangleright: with \verb:\blacktriangleleft: in RTL context
+
+\bigskip
+
+{\renewcommand{\arraystretch}{1.3}
+\centering
+\begin{tabular}{ccc}
+\hline
+ & \verb:\blacktriangleright: & \verb:\blacktriangleleft: \\
+\hline
+LTR context & \blacktriangleright & \blacktriangleleft \\
+\hline
+RTL context & \selectlanguage{nil}\blacktriangleright & \selectlanguage{nil}\blacktriangleleft \\
+\hline
+\end{tabular}
+\par
+}
+
+\bigskip
+
+
+\item
+
+Class option \verb:arabic: call an Arabic dictionary to translate strings like \verb:theorem:, \verb:example:, \verb:definition: ....
+
+
+\medskip
+
+{\selectlanguage{nil}
+\verb:\documentclass[arabic]{beamer-rl}:
+}
+
+\medskip
+
+
+\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
+
+\medskip
+
+{\selectlanguage{nil}
+\verb:\bebelsublr{LTR context ... }:
+}
+
+\end{itemize}
+
+
+\end{frame}
+
+
\section{Examples}
\subsection{Blocks}
@@ -217,89 +292,19 @@ number not in the first $p$ numbers.\qedhere
\begin{frame}[fragile]
\frametitle{Zooming}
-\framezoom<1><2>[border=2](2cm,2cm)(2cm,2cm)
+\framezoom<1><2>[border=2](3cm,2cm)(2cm,2cm)
\pgfimage[height=5cm]{example-image}
\selectlanguage{nil}
\begin{verbatim}
-\framezoom<1><2>[border=2](2cm,2cm)(2cm,2cm)
+\framezoom<1><2>[border=2](3cm,2cm)(2cm,2cm)
+% (3cm,2cm)=(<upper right x>,<upper right y>)
+% (2cm,2cm)=(<zoom area width>,<zoom area depth>)
\pgfimage[height=5cm]{example-image}
\end{verbatim}
-\end{frame}
-
-\section{Some notes}
-
-\begin{frame}[fragile,allowframebreaks]
-\frametitle{Some notes}
-
-\begin{itemize}
-
-\item
-
-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
-
-{\selectlanguage{nil}
-\verb:\documentclass[babel={<babel options>}]{beamer-rl}:
-}
-
-\medskip
-
-\item
-The \verb:beamer-rl: class swap the definition of \verb:\blacktriangleright: with \verb:\blacktriangleleft: in RTL context
-
-\bigskip
-
-{\renewcommand{\arraystretch}{1.3}
-\centering
-\begin{tabular}{ccc}
-\hline
- & \verb:\blacktriangleright: & \verb:\blacktriangleleft: \\
-\hline
-LTR context & \blacktriangleright & \blacktriangleleft \\
-\hline
-RTL context & \selectlanguage{nil}\blacktriangleright & \selectlanguage{nil}\blacktriangleleft \\
-\hline
-\end{tabular}
-\par
-}
-
-\bigskip
-
-
-\item
-
-Class option \verb:arabic: call an Arabic dictionary to translate strings like \verb:theorem:, \verb:example:, \verb:definition: ....
-
-
-\medskip
-
-{\selectlanguage{nil}
-\verb:\documentclass[arabic]{beamer-rl}:
-}
-
-\medskip
-
-
-\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
-
-\medskip
-
-{\selectlanguage{nil}
-\verb:\bebelsublr{LTR context ... }:
-}
-
-\end{itemize}
-
\end{frame}
+
\end{document}
diff --git a/macros/luatex/latex/beamer-rl/README.txt b/macros/luatex/latex/beamer-rl/README.txt
index 2b06f7ab97..e6b53616f9 100644
--- a/macros/luatex/latex/beamer-rl/README.txt
+++ b/macros/luatex/latex/beamer-rl/README.txt
@@ -1,20 +1,20 @@
The beamer-rl class
-v1.4
+v1.4a
This class provides patchs of some beamer templates and commands
-for right to left presentation, this package require babel with lualatex engine
+for right to left presentation, the class require babel with lualatex engine
If you want to report any bugs or typos and corrections in the
documentation then
please use the issue tracker:
<https://github.com/seloumi/beamer-rl/issues>
-Current version release date: 2020/08/04
+Current version release date: 2020/08/21
___________________
Salim Bou
-Copyright (c) 2020
+Copyright (c) 2019-2020
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
diff --git a/macros/luatex/latex/beamer-rl/beamer-rl.cls b/macros/luatex/latex/beamer-rl/beamer-rl.cls
index 034c26597a..906a46fd9f 100644
--- a/macros/luatex/latex/beamer-rl/beamer-rl.cls
+++ b/macros/luatex/latex/beamer-rl/beamer-rl.cls
@@ -1,499 +1,527 @@
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{beamer-rl}
-[2020/08/04 v1.4 LaTeX class to patch beamer for right to left presentation with babel]
-
-\RequirePackage{kvoptions}
-\RequirePackage{kvsetkeys}
-
-\SetupKeyvalOptions{
- family=beamer-rl,
- prefix=beamer-rl@,
- setkeys=\kvsetkeys,
-}
-
-% babel options:
-\define@key{beamer-rl}{babel}{%
- \PassOptionsToPackage{#1}{babel}%
-}
-
-\DeclareVoidOption{arabic}{%
- \@expandtwoargs\@removeelement\CurrentOption\@classoptionslist\@classoptionslist % remove arabic option from global list
- % \PassOptionsToPackage{arabic}{translator}%
- \AtBeginDocument{\uselanguage{Arabic}\languagealias{arabic}{Arabic}}
-}
-
-\DeclareDefaultOption{%
- \PassOptionsToClass{\CurrentOption}{beamer}%
-}
-
-\ProcessKeyvalOptions*\relax
-
-\RequirePackage{ifluatex}
-
-\ifluatex
-\else
-\ClassError{beamer-rl}{beamer-rl require luatex}
-\fi
-
-\LoadClass[hyperref={unicode}]{beamer}
-
-\RequirePackage[nil,bidi=basic-r]{babel}
-
-\def\reset@temp#1#2{\expandafter\let\csname beamer@@tmpop@#1@#2\endcsname\relax}
-\def\@@defbeamertemplate#1#2{\reset@temp{#1}{#2}\defbeamertemplate{#1}{#2}}
-\def\@defbeamertemplate#1#2{\reset@temp{#1}{#2}\defbeamertemplate*{#1}{#2}}
-
-\def\redefbeamertemplate{%
- \@ifstar{\@defbeamertemplate}{\@@defbeamertemplate}%
-}
-
-\let\old@blacktriangleright\blacktriangleright
-\let\old@blacktriangleleft\blacktriangleleft
-
-\def\blacktriangleright{%
- \ifcase\bbl@thepardir \old@blacktriangleright\else\old@blacktriangleleft\fi}
-\def\blacktriangleleft{%
- \ifcase\bbl@thepardir \old@blacktriangleleft\else\old@blacktriangleright\fi}
-
-
-\let\oldpgfpicture\pgfpicture
-\let\oldendpgfpicture\endpgfpicture
-
-\def\pgfpicture{\babelsublr\bgroup\oldpgfpicture}
-\def\endpgfpicture{\oldendpgfpicture\egroup}
-
-\let\oldpgfuseshading\pgfuseshading
-\def\pgfuseshading#1{\babelsublr{\oldpgfuseshading{#1}}}
-
-
-%% beamerbasebox
-
-\newdimen\bmb@dimc
-
-\renewcommand\beamerboxesrounded[2][]{%
- \global\let\beamer@firstlineitemizeunskip=\relax%
- \vbox\bgroup%
- \setkeys{beamerboxes}{upper=block title,lower=block body,width=\textwidth,shadow=false}%
- \setkeys{beamerboxes}{#1}%
- {%
- \usebeamercolor{\bmb@lower}%
- \globalcolorstrue%
- \colorlet{lower.bg}{bg}%
- }%
- {%
- \usebeamercolor{\bmb@upper}%
- \globalcolorstrue%
- \colorlet{upper.bg}{bg}%
- }%
- %
- % Typeset head
- %
- \vskip4bp
- \setbox\bmb@box=\hbox{%
- \begin{minipage}[b]{\bmb@width}%
- \usebeamercolor[fg]{\bmb@upper}%
- #2%
- \end{minipage}}%
- \ifdim\wd\bmb@box=0pt%
- \setbox\bmb@box=\hbox{}%
- \ht\bmb@box=1.5pt%
- \bmb@prevheight=-4.5pt%
- \else%
- \wd\bmb@box=\bmb@width%
- \bmb@temp=\dp\bmb@box%
- \ifdim\bmb@temp<1.5pt%
- \bmb@temp=1.5pt%
- \fi%
- \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
- \dp\bmb@box=0pt%
- \bmb@prevheight=\ht\bmb@box%
- \fi%
- \bmb@temp=\bmb@width%
- \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
- \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
- \bmb@dimc=0pt%
- \ifdim\wd\bmb@box=0pt
- \bmb@dimc=\bmb@width%
- \fi
- \hbox{%
- \textdir TLT\begin{pgfpicture}{0bp}{+-\ht\bmb@box}{\bmb@dimc}{+-\ht\bmb@box}
- \ifdim\wd\bmb@box=0pt%
- \color{lower.bg}%
- \else%
- \color{upper.bg}%
- \fi%
- \pgfpathqmoveto{-4bp}{-1bp}
- \pgfpathqcurveto{-4bp}{1.2bp}{-2.2bp}{3bp}{0bp}{3bp}
- \pgfpathlineto{\pgfpoint{\bmb@temp}{3bp}}
- \pgfpathcurveto%
- {\pgfpoint{\bmb@dima}{3bp}}%
- {\pgfpoint{\bmb@dimb}{1.2bp}}%
- {\pgfpoint{\bmb@dimb}{-1bp}}%
- \bmb@dima=-\ht\bmb@box%
- \advance\bmb@dima by-2pt%
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
- \pgfusepath{fill}
- \end{pgfpicture}%
- \copy\bmb@box%
- }%
- \nointerlineskip%
- \vskip-1pt%
- \ifdim\wd\bmb@box=0pt%
- \else%
- \hbox{%
- \begin{pgfpicture}{0pt}{0pt}{\bmb@width}{6pt}
- \bmb@dima=\bmb@width%
- \advance\bmb@dima by8bp%
- \pgfpathrectangle{\pgfpoint{-4bp}{-1bp}}{\pgfpoint{\bmb@dima}{8bp}}
- \pgfusepath{clip}
- {\pgftransformshift{\pgfpoint{-4bp}{0bp}}\pgftext[left,base]{\pgfuseshading{bmb@transition}}}%
- \end{pgfpicture}%
- }%
- \nointerlineskip%
- \vskip-0.5pt%
- \fi%
- \ifbmb@shadow%
- \setbox\bmb@boxshadow=\hbox{\pgfuseshading{bmb@shadow}}%
- \setbox\bmb@boxshadowball=\hbox{\pgfuseshading{bmb@shadowball}}%
- \setbox\bmb@boxshadowballlarge=\hbox{\pgfuseshading{bmb@shadowballlarge}}%
- \fi%
- \setbox\bmb@colorbox=\hbox{{\pgfpicturetrue\pgfsetcolor{lower.bg}}}%
- \setbox\bmb@box=\hbox\bgroup\begin{minipage}[b]{\bmb@width}%
- \vskip2pt%
- \usebeamercolor[fg]{\bmb@lower}%
- \colorlet{beamerstructure}{upper.bg}%
- \colorlet{structure}{upper.bg}%
- %\color{.}%
- }
-
- \def\endbeamerboxesrounded{%
- \end{minipage}\egroup%
- \wd\bmb@box=\bmb@width%
- \bmb@temp=\dp\bmb@box%
- \advance\bmb@temp by.5pt%
- \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
- \dp\bmb@box=0pt%
- \bmb@temp=\wd\bmb@box%
- \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
- \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
- \hbox{%
- \textdir TLT\begin{pgfpicture}{0bp}{0bp}{0bp}{0bp}
- \ifbmb@shadow%
- {\pgftransformshift{\pgfpoint{4bp}{-3bp}}\pgftext{\copy\bmb@boxshadowball}}
- \begin{pgfscope}
- {%
- \advance\bmb@temp by-1bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{-7bp}}{\pgfpoint{9bp}{9bp}}%
- \pgfusepath{clip}
- }%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{1bp}}\pgftext{\box\bmb@boxshadowballlarge}}
- \end{pgfscope}
- \begin{pgfscope}
- \advance\bmb@temp by-4bp%
- \pgfpathrectangle{\pgfpoint{4bp}{-7bp}}{\pgfpoint{\bmb@temp}{5bp}}
- \pgfusepath{clip}
- {\pgftransformshift{\pgfpoint{4bp}{-7bp}}\pgftext[left,base]{\copy\bmb@boxshadow}}%
- \end{pgfscope}
- \begin{pgfscope}
- \advance\bmb@temp by 4bp%
- \bmb@dima=\ht\bmb@box%
- \advance\bmb@dima by\bmb@prevheight%
- \advance\bmb@dima by 4bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
- \pgfusepath{clip}
- \advance\bmb@dima by-4bp%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{\bmb@dima}}\pgftext{\box\bmb@boxshadowball}}
- \advance\bmb@dima by-1bp%
- \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
- \pgfusepath{clip}
- \advance\bmb@temp by4bp%
- {\pgftransformshift{\pgfpoint{\bmb@temp}{-3bp}}%
- \pgftransformrotate{90}%
- \pgftext[left,base]{\box\bmb@boxshadow}}%
- \end{pgfscope}
- \fi%
- \unhbox\bmb@colorbox%
- \pgfpathqmoveto{-4bp}{1bp}
- \pgfpathqcurveto{-4bp}{-1.2bp}{-2.2bp}{-3bp}{0bp}{-3bp}
- \pgfpathlineto{\pgfpoint{\the\bmb@temp}{-3bp}}
- \pgfpathcurveto%
- {\pgfpoint{\the\bmb@dima}{-3bp}}%
- {\pgfpoint{\the\bmb@dimb}{-1.2bp}}%
- {\pgfpoint{\the\bmb@dimb}{1bp}}%
- {
- \bmb@dima=\ht\bmb@box%
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
- \pgfusepath{fill}
- }
- \ifbmb@shadow%
- {
- \color{black!50!bg}
- \pgfsetlinewidth{0pt}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{-.5bp}}
- \bmb@dima=\ht\bmb@box%
- \advance\bmb@dima by\bmb@prevheight%
- \advance\bmb@dima by 1bp%
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \bmb@temp=\bmb@dima
- \advance\bmb@dima by 1bp%
- \color{black!31!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1bp%
- \advance\bmb@temp by 1bp%
- \color{black!19!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1bp%
- \advance\bmb@temp by 1bp%
- \color{black!6!bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- \advance\bmb@dima by 1.5bp%
- \advance\bmb@temp by 1bp%
- \color{bg}
- \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
- \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
- \pgfusepath{stroke}
- }
- \fi
- \end{pgfpicture}%
- \box\bmb@box%
- }%
- \ifbmb@shadow%
- \vskip4bp minus 2bp%
- \else%
- \vskip2bp%
- \fi%
- \egroup% of \vbox\bgroup
-}
-
-
-%% beamerbaseauxtemplates
-
-
-% (sub-)section in toc: subsections numbered
-
-\redefbeamertemplate{subsection in toc}{subsections numbered}
-{\leavevmode\leftskip=2em\rlap{\hskip-2em \inserttocsectionnumber\hbox{.}\inserttocsubsectionnumber}\inserttocsubsection\par}
-
-
-%% beamerinnerthemedefault
-
-\redefbeamertemplate*{button}{default}
-{%
- \setbox\beamer@tempbox=\hbox{{\insertbuttontext}}%
- \ht\beamer@tempbox=6pt%
- \dp\beamer@tempbox=0pt%
- \setbox\beamer@tempbox=\vbox{\box\beamer@tempbox\vskip2pt}%
- \beamer@tempdim=\wd\beamer@tempbox%
- \beamer@dima=\beamer@tempdim\advance\beamer@dima by2.2pt
- \beamer@dimb=\beamer@tempdim\advance\beamer@dimb by4pt
- \textdir TLT\begin{pgfpicture}{-4pt}{0pt}{\the\beamer@tempdim}{8pt}
- \color{bg}
- \pgfsetlinewidth{0.8pt}
- \pgfpathqmoveto{0pt}{0pt}
- \pgfpathqcurveto{-2.2pt}{0pt}{-4pt}{1.8pt}{-4pt}{4pt}
- \pgfpathqcurveto{-4pt}{6.2pt}{-2.2pt}{8pt}{0pt}{8pt}
- \pgfpathlineto{\pgfpoint{\the\beamer@tempdim}{8pt}}
- \pgfpathcurveto%
- {\pgfpoint{\the\beamer@dima}{8pt}}%
- {\pgfpoint{\the\beamer@dimb}{6.2pt}}%
- {\pgfpoint{\the\beamer@dimb}{4pt}}
- \pgfpathcurveto%
- {\pgfpoint{\the\beamer@dimb}{1.8pt}}%
- {\pgfpoint{\the\beamer@dima}{0pt}}%
- {\pgfpoint{\the\beamer@tempdim}{0pt}}
- \pgfpathclose
- \pgfusepathqfill
- \colorlet{bg}{parent.bg}
- \usebeamercolor[fg]{button border}
- \pgfpathqmoveto{0pt}{0pt}
- \pgfpathqcurveto{-2.2pt}{0pt}{-4pt}{1.8pt}{-4pt}{4pt}
- \pgfpathqcurveto{-4pt}{6.2pt}{-2.2pt}{8pt}{0pt}{8pt}
- \pgfpathlineto{\pgfpoint{\the\beamer@tempdim}{8pt}}
- \pgfpathcurveto%
- {\pgfpoint{\the\beamer@dima}{8pt}}%
- {\pgfpoint{\the\beamer@dimb}{6.2pt}}%
- {\pgfpoint{\the\beamer@dimb}{4pt}}
- \pgfpathcurveto%
- {\pgfpoint{\the\beamer@dimb}{1.8pt}}%
- {\pgfpoint{\the\beamer@dima}{0pt}}%
- {\pgfpoint{\the\beamer@tempdim}{0pt}}
- \pgfpathclose
- \pgfusepathqstroke
- \end{pgfpicture}%
- \hskip-\beamer@tempdim%
- \box\beamer@tempbox%
- \kern4pt%
-}
-
-%% beamerbasenavigation
-
-% User Buttons
-
-\pgfdefobject{beamergotosymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{5pt}{5pt}}
-{
- \pgfpathqmoveto{1.5bp}{0.5bp}
- \pgfpathqlineto{3.5bp}{2bp}
- \pgfpathqlineto{1.5bp}{3.5bp}
- \pgfusepathqfill
-}
-
-\def\insertgotosymbol{%
- \begin{pgfpicture}{1pt}{0pt}{6pt}{5pt}
- \pgfuseobject{\ifcase\bbl@thepardir beamergotosymbol\else beamerreturnsymbol\fi}%
-\end{pgfpicture}}
-
-\pgfdefobject{beamerreturnsymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{5pt}{5pt}}
-{
- \pgfpathqmoveto{3.5bp}{0.5bp}
- \pgfpathqlineto{1.5bp}{2bp}
- \pgfpathqlineto{3.5bp}{3.5bp}
- \pgfusepathqfill
-}
-
-\def\insertreturnsymbol{%
- \begin{pgfpicture}{1pt}{0pt}{6pt}{5pt}
- \pgfuseobject{\ifcase\bbl@thepardir beamerreturnsymbol\else beamergotosymbol\fi}%
-\end{pgfpicture}}
-
-
-\pgfdefobject{beamerskipsymbolrl}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{7pt}{5pt}}
-{
- \pgfpathqmoveto{3.5bp}{0.5bp}
- \pgfpathqlineto{1.5bp}{2bp}
- \pgfpathqlineto{3.5bp}{3.5bp}
- \pgfpathqmoveto{5.5bp}{0.5bp}
- \pgfpathqlineto{3.5bp}{2bp}
- \pgfpathqlineto{5.5bp}{3.5bp}
- \pgfusepathqfill
-}
-
-\pgfdefobject{beamerskipsymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{7pt}{5pt}}
-{
- \pgfpathqmoveto{1.5bp}{0.5bp}
- \pgfpathqlineto{3.5bp}{2bp}
- \pgfpathqlineto{1.5bp}{3.5bp}
- \pgfpathqmoveto{3.5bp}{0.5bp}
- \pgfpathqlineto{5.5bp}{2bp}
- \pgfpathqlineto{3.5bp}{3.5bp}
- \pgfusepathqfill
-}
-
-\def\insertskipsymbol{%
- \begin{pgfpicture}{-1pt}{0pt}{6pt}{5pt}
- \pgfuseobject{\ifcase\bbl@thepardir beamerskipsymbol\else beamerskipsymbolrl\fi}%
-\end{pgfpicture}}
-
-\def\beamergotobutton#1{\beamerbutton{\insertgotosymbol\ #1}}
-\def\beamerreturnbutton#1{\beamerbutton{\insertreturnsymbol\ #1}}
-\def\beamerskipbutton#1{\beamerbutton{\insertskipsymbol\ #1}}
-
-%% beamerbaseframesize
-
-%
-% Zoom stuff
-%
-
-\def\beamer@framezoom<#1><#2>[#3](#4,#5)(#6,#7){%
- \par\nointerlineskip%
- \global\beamer@slidehaszoomtrue%
- \advance\beamer@zoomcount by1\relax%
- \def\beamer@zoomborderwidth{0}%
- \edef\beamer@labelzoomed{beamer@labelzoomed@\the\beamer@zoomframecount @\the\beamer@zoomcount}%
- \setkeys{beamerzoom}{#3}%
- \only<#1>{%
- {\hypersetup{pdfhighlight={/P},pdfborder={0 0 \beamer@zoomborderwidth}}%
- \global\setbox\@tempboxa=\vbox{\hyperlink{\beamer@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@zoombox=\vbox to0pt{\unvbox\beamer@zoombox\box\@tempboxa}%
- }%
- \only<#2>{%
- \pardir TLT%
- \@ifundefined{\beamer@labelzoomed}%
- {%
- \hypertarget{\beamer@labelzoomed}{}%
- \expandafter\gdef\csname\beamer@labelzoomed\endcsname{}%
- }{}%
- \gdef\beamer@zoomer{%
- % compute zoom factor
- \@tempdima=\beamer@frametextheight%
- \@tempdimb=#7\relax%
- \@tempcnta=\@tempdimb%
- \divide\@tempcnta by4096\relax%
- \multiply\@tempdima by16\relax%
- \divide\@tempdima by\@tempcnta%
- \@tempdimb=\paperwidth%
- \ifbeamer@plainframe%
- \else%
- \advance\@tempdimb by-\beamer@leftsidebar%
- \advance\@tempdimb by-\beamer@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@temp{\strip@pt\@tempdima}%
- \@tempdimc=\beamer@frametextheight%
- \advance\@tempdimc by4pt%
- \@tempdimb=\paperwidth%
- \ifbeamer@plainframe%
- \else%
- \advance\@tempdimb by-\beamer@leftsidebar%
- \advance\@tempdimb by-\beamer@rightsidebar\relax%
- \fi%
- \setbox\@tempboxa=\vbox{\hsize=\@tempdimb\Acrobatmenu{GoBack}{\vbox to
- \beamer@frametextheight{\hbox to\@tempdimb{\hfil}\vfil}}}%
- \ht\@tempboxa=0pt%
- \wd\@tempboxa=0pt%
- \dp\@tempboxa=0pt%
- \setbox\beamer@framebox=\vbox to\beamer@frametextheight{{%
- \ifbeamer@plainframe\beamer@leftmargin=\Gm@lmargin\fi%
- \pardir TLT%
- \begin{pgfpicture}{\beamer@leftmargin}{-\beamer@frametextheight}{\beamer@leftmargin}{0pt}
- \pgftext[left,top]{\box\@tempboxa}
- \pgfpathrectangle{\pgfpoint{0pt}{-\@tempdimc}}{\pgfpoint{\@tempdimb}{\@tempdimc}}%
- \pgfusepath{clip}
- \begingroup
- \pgftransformscale{\beamer@temp}
- \@tempdima=#4\relax%
- \@tempdimb=#5\relax%
- {\pgftransformshift{\pgfpoint{-\@tempdima}{\@tempdimb}}%
- \pgftext[left,top]{\vbox{\vbox{}\nointerlineskip\unvbox\beamer@framebox}}}
- \endgroup
- \end{pgfpicture}%
- }}%
-
- \setbox\beamer@framebox=\vbox{%
- \nobreak\vbox{}\nobreak\par\nobreak\beamer@entrycode\nobreak%
- \nointerlineskip\unvbox\beamer@frametitlebox%
- \nobreak%
- \box\beamer@framebox %
- \nobreak%
- \vss%
- \beamer@exitcode%
- }%
- \global\setbox\beamer@footins=\box\voidb@x% no footnotes in zoomed slides
- }%
- }%
-}
-
-\endinput
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{beamer-rl}
+[2020/08/04 v1.4a LaTeX class to patch beamer for right to left presentation with babel]
+
+\RequirePackage{kvoptions}
+\RequirePackage{kvsetkeys}
+
+\SetupKeyvalOptions{
+ family=beamer-rl,
+ prefix=beamer-rl@,
+ setkeys=\kvsetkeys,
+}
+
+% babel options:
+\define@key{beamer-rl}{babel}{%
+ \PassOptionsToPackage{#1}{babel}%
+}
+
+\DeclareVoidOption{arabic}{%
+ \@expandtwoargs\@removeelement\CurrentOption\@classoptionslist\@classoptionslist % remove arabic option from global list
+ % \PassOptionsToPackage{arabic}{translator}%
+ \AtBeginDocument{\uselanguage{Arabic}\languagealias{arabic}{Arabic}}
+}
+
+\DeclareDefaultOption{%
+ \PassOptionsToClass{\CurrentOption}{beamer}%
+}
+
+\ProcessKeyvalOptions*\relax
+
+\RequirePackage{ifluatex}
+
+\ifluatex
+\else
+\ClassError{beamer-rl}{beamer-rl require luatex}
+\fi
+
+\LoadClass[hyperref={unicode}]{beamer}
+
+\RequirePackage[nil,bidi=basic-r]{babel}
+
+\def\reset@temp#1#2{\expandafter\let\csname beamer@@tmpop@#1@#2\endcsname\relax}
+\def\@@defbeamertemplate#1#2{\reset@temp{#1}{#2}\defbeamertemplate{#1}{#2}}
+\def\@defbeamertemplate#1#2{\reset@temp{#1}{#2}\defbeamertemplate*{#1}{#2}}
+
+\def\redefbeamertemplate{%
+ \@ifstar{\@defbeamertemplate}{\@@defbeamertemplate}%
+}
+
+\let\old@blacktriangleright\blacktriangleright
+\let\old@blacktriangleleft\blacktriangleleft
+
+\def\blacktriangleright{%
+ \ifcase\bbl@thepardir \old@blacktriangleright\else\old@blacktriangleleft\fi}
+\def\blacktriangleleft{%
+ \ifcase\bbl@thepardir \old@blacktriangleleft\else\old@blacktriangleright\fi}
+
+
+\let\oldpgfpicture\pgfpicture
+\let\endoldpgfpicture\endpgfpicture
+
+\def\pgfpicture{\babelsublr\bgroup\oldpgfpicture}
+\def\endpgfpicture{\endoldpgfpicture\egroup}
+
+\let\oldpgfuseshading\pgfuseshading
+\def\pgfuseshading#1{\babelsublr{\oldpgfuseshading{#1}}}
+
+
+%% beamerbasebox
+
+\newdimen\bmb@dimc
+
+\renewcommand\beamerboxesrounded[2][]{%
+ \global\let\beamer@firstlineitemizeunskip=\relax%
+ \vbox\bgroup%
+ \setkeys{beamerboxes}{upper=block title,lower=block body,width=\textwidth,shadow=false}%
+ \setkeys{beamerboxes}{#1}%
+ {%
+ \usebeamercolor{\bmb@lower}%
+ \globalcolorstrue%
+ \colorlet{lower.bg}{bg}%
+ }%
+ {%
+ \usebeamercolor{\bmb@upper}%
+ \globalcolorstrue%
+ \colorlet{upper.bg}{bg}%
+ }%
+ %
+ % Typeset head
+ %
+ \vskip4bp
+ \setbox\bmb@box=\hbox{%
+ \begin{minipage}[b]{\bmb@width}%
+ \usebeamercolor[fg]{\bmb@upper}%
+ #2%
+ \end{minipage}}%
+ \ifdim\wd\bmb@box=0pt%
+ \setbox\bmb@box=\hbox{}%
+ \ht\bmb@box=1.5pt%
+ \bmb@prevheight=-4.5pt%
+ \else%
+ \wd\bmb@box=\bmb@width%
+ \bmb@temp=\dp\bmb@box%
+ \ifdim\bmb@temp<1.5pt%
+ \bmb@temp=1.5pt%
+ \fi%
+ \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
+ \dp\bmb@box=0pt%
+ \bmb@prevheight=\ht\bmb@box%
+ \fi%
+ \bmb@temp=\bmb@width%
+ \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
+ \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
+ \bmb@dimc=0pt%
+ \ifdim\wd\bmb@box=0pt
+ \bmb@dimc=\bmb@width%
+ \fi
+ \hbox{%
+ \textdir TLT\begin{pgfpicture}{0bp}{+-\ht\bmb@box}{\bmb@dimc}{+-\ht\bmb@box}
+ \ifdim\wd\bmb@box=0pt%
+ \color{lower.bg}%
+ \else%
+ \color{upper.bg}%
+ \fi%
+ \pgfpathqmoveto{-4bp}{-1bp}
+ \pgfpathqcurveto{-4bp}{1.2bp}{-2.2bp}{3bp}{0bp}{3bp}
+ \pgfpathlineto{\pgfpoint{\bmb@temp}{3bp}}
+ \pgfpathcurveto%
+ {\pgfpoint{\bmb@dima}{3bp}}%
+ {\pgfpoint{\bmb@dimb}{1.2bp}}%
+ {\pgfpoint{\bmb@dimb}{-1bp}}%
+ \bmb@dima=-\ht\bmb@box%
+ \advance\bmb@dima by-2pt%
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
+ \pgfusepath{fill}
+ \end{pgfpicture}%
+ \copy\bmb@box%
+ }%
+ \nointerlineskip%
+ \vskip-1pt%
+ \ifdim\wd\bmb@box=0pt%
+ \else%
+ \hbox{%
+ \begin{pgfpicture}{0pt}{0pt}{\bmb@width}{6pt}
+ \bmb@dima=\bmb@width%
+ \advance\bmb@dima by8bp%
+ \pgfpathrectangle{\pgfpoint{-4bp}{-1bp}}{\pgfpoint{\bmb@dima}{8bp}}
+ \pgfusepath{clip}
+ {\pgftransformshift{\pgfpoint{-4bp}{0bp}}\pgftext[left,base]{\pgfuseshading{bmb@transition}}}%
+ \end{pgfpicture}%
+ }%
+ \nointerlineskip%
+ \vskip-0.5pt%
+ \fi%
+ \ifbmb@shadow%
+ \setbox\bmb@boxshadow=\hbox{\pgfuseshading{bmb@shadow}}%
+ \setbox\bmb@boxshadowball=\hbox{\pgfuseshading{bmb@shadowball}}%
+ \setbox\bmb@boxshadowballlarge=\hbox{\pgfuseshading{bmb@shadowballlarge}}%
+ \fi%
+ \setbox\bmb@colorbox=\hbox{{\pgfpicturetrue\pgfsetcolor{lower.bg}}}%
+ \setbox\bmb@box=\hbox\bgroup\begin{minipage}[b]{\bmb@width}%
+ \vskip2pt%
+ \usebeamercolor[fg]{\bmb@lower}%
+ \colorlet{beamerstructure}{upper.bg}%
+ \colorlet{structure}{upper.bg}%
+ %\color{.}%
+ }
+
+ \def\endbeamerboxesrounded{%
+ \end{minipage}\egroup%
+ \wd\bmb@box=\bmb@width%
+ \bmb@temp=\dp\bmb@box%
+ \advance\bmb@temp by.5pt%
+ \setbox\bmb@box=\hbox{\raise\bmb@temp\hbox{\box\bmb@box}}%
+ \dp\bmb@box=0pt%
+ \bmb@temp=\wd\bmb@box%
+ \bmb@dima=\bmb@temp\advance\bmb@dima by2.2bp%
+ \bmb@dimb=\bmb@temp\advance\bmb@dimb by4bp%
+ \hbox{%
+ \textdir TLT\begin{pgfpicture}{0bp}{0bp}{0bp}{0bp}
+ \ifbmb@shadow%
+ {\pgftransformshift{\pgfpoint{4bp}{-3bp}}\pgftext{\copy\bmb@boxshadowball}}
+ \begin{pgfscope}
+ {%
+ \advance\bmb@temp by-1bp%
+ \pgfpathrectangle{\pgfpoint{\bmb@temp}{-7bp}}{\pgfpoint{9bp}{9bp}}%
+ \pgfusepath{clip}
+ }%
+ {\pgftransformshift{\pgfpoint{\bmb@temp}{1bp}}\pgftext{\box\bmb@boxshadowballlarge}}
+ \end{pgfscope}
+ \begin{pgfscope}
+ \advance\bmb@temp by-4bp%
+ \pgfpathrectangle{\pgfpoint{4bp}{-7bp}}{\pgfpoint{\bmb@temp}{5bp}}
+ \pgfusepath{clip}
+ {\pgftransformshift{\pgfpoint{4bp}{-7bp}}\pgftext[left,base]{\copy\bmb@boxshadow}}%
+ \end{pgfscope}
+ \begin{pgfscope}
+ \advance\bmb@temp by 4bp%
+ \bmb@dima=\ht\bmb@box%
+ \advance\bmb@dima by\bmb@prevheight%
+ \advance\bmb@dima by 4bp%
+ \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
+ \pgfusepath{clip}
+ \advance\bmb@dima by-4bp%
+ {\pgftransformshift{\pgfpoint{\bmb@temp}{\bmb@dima}}\pgftext{\box\bmb@boxshadowball}}
+ \advance\bmb@dima by-1bp%
+ \pgfpathrectangle{\pgfpoint{\bmb@temp}{1bp}}{\pgfpoint{4bp}{\bmb@dima}}
+ \pgfusepath{clip}
+ \advance\bmb@temp by4bp%
+ {\pgftransformshift{\pgfpoint{\bmb@temp}{-3bp}}%
+ \pgftransformrotate{90}%
+ \pgftext[left,base]{\box\bmb@boxshadow}}%
+ \end{pgfscope}
+ \fi%
+ \unhbox\bmb@colorbox%
+ \pgfpathqmoveto{-4bp}{1bp}
+ \pgfpathqcurveto{-4bp}{-1.2bp}{-2.2bp}{-3bp}{0bp}{-3bp}
+ \pgfpathlineto{\pgfpoint{\the\bmb@temp}{-3bp}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\bmb@dima}{-3bp}}%
+ {\pgfpoint{\the\bmb@dimb}{-1.2bp}}%
+ {\pgfpoint{\the\bmb@dimb}{1bp}}%
+ {
+ \bmb@dima=\ht\bmb@box%
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfpathlineto{\pgfpoint{-4bp}{\bmb@dima}}
+ \pgfusepath{fill}
+ }
+ \ifbmb@shadow%
+ {
+ \color{black!50!bg}
+ \pgfsetlinewidth{0pt}
+ \pgfpathmoveto{\pgfpoint{\bmb@dimb}{-.5bp}}
+ \bmb@dima=\ht\bmb@box%
+ \advance\bmb@dima by\bmb@prevheight%
+ \advance\bmb@dima by 1bp%
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfusepath{stroke}
+ \bmb@temp=\bmb@dima
+ \advance\bmb@dima by 1bp%
+ \color{black!31!bg}
+ \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfusepath{stroke}
+ \advance\bmb@dima by 1bp%
+ \advance\bmb@temp by 1bp%
+ \color{black!19!bg}
+ \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfusepath{stroke}
+ \advance\bmb@dima by 1bp%
+ \advance\bmb@temp by 1bp%
+ \color{black!6!bg}
+ \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfusepath{stroke}
+ \advance\bmb@dima by 1.5bp%
+ \advance\bmb@temp by 1bp%
+ \color{bg}
+ \pgfpathmoveto{\pgfpoint{\bmb@dimb}{\bmb@temp}}
+ \pgfpathlineto{\pgfpoint{\bmb@dimb}{\bmb@dima}}
+ \pgfusepath{stroke}
+ }
+ \fi
+ \end{pgfpicture}%
+ \box\bmb@box%
+ }%
+ \ifbmb@shadow%
+ \vskip4bp minus 2bp%
+ \else%
+ \vskip2bp%
+ \fi%
+ \egroup% of \vbox\bgroup
+}
+
+
+%% beamerbaseauxtemplates
+
+
+% (sub-)section in toc: subsections numbered
+
+\redefbeamertemplate{subsection in toc}{subsections numbered}
+{\leavevmode\leftskip=2em\rlap{\hskip-2em \inserttocsectionnumber\hbox{.}\inserttocsubsectionnumber}\inserttocsubsection\par}
+
+
+%% beamerinnerthemedefault
+
+\redefbeamertemplate*{button}{default}
+{%
+ \setbox\beamer@tempbox=\hbox{{\insertbuttontext}}%
+ \ht\beamer@tempbox=6pt%
+ \dp\beamer@tempbox=0pt%
+ \setbox\beamer@tempbox=\vbox{\box\beamer@tempbox\vskip2pt}%
+ \beamer@tempdim=\wd\beamer@tempbox%
+ \beamer@dima=\beamer@tempdim\advance\beamer@dima by2.2pt
+ \beamer@dimb=\beamer@tempdim\advance\beamer@dimb by4pt
+ \textdir TLT\begin{pgfpicture}{-4pt}{0pt}{\the\beamer@tempdim}{8pt}
+ \color{bg}
+ \pgfsetlinewidth{0.8pt}
+ \pgfpathqmoveto{0pt}{0pt}
+ \pgfpathqcurveto{-2.2pt}{0pt}{-4pt}{1.8pt}{-4pt}{4pt}
+ \pgfpathqcurveto{-4pt}{6.2pt}{-2.2pt}{8pt}{0pt}{8pt}
+ \pgfpathlineto{\pgfpoint{\the\beamer@tempdim}{8pt}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\beamer@dima}{8pt}}%
+ {\pgfpoint{\the\beamer@dimb}{6.2pt}}%
+ {\pgfpoint{\the\beamer@dimb}{4pt}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\beamer@dimb}{1.8pt}}%
+ {\pgfpoint{\the\beamer@dima}{0pt}}%
+ {\pgfpoint{\the\beamer@tempdim}{0pt}}
+ \pgfpathclose
+ \pgfusepathqfill
+ \colorlet{bg}{parent.bg}
+ \usebeamercolor[fg]{button border}
+ \pgfpathqmoveto{0pt}{0pt}
+ \pgfpathqcurveto{-2.2pt}{0pt}{-4pt}{1.8pt}{-4pt}{4pt}
+ \pgfpathqcurveto{-4pt}{6.2pt}{-2.2pt}{8pt}{0pt}{8pt}
+ \pgfpathlineto{\pgfpoint{\the\beamer@tempdim}{8pt}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\beamer@dima}{8pt}}%
+ {\pgfpoint{\the\beamer@dimb}{6.2pt}}%
+ {\pgfpoint{\the\beamer@dimb}{4pt}}
+ \pgfpathcurveto%
+ {\pgfpoint{\the\beamer@dimb}{1.8pt}}%
+ {\pgfpoint{\the\beamer@dima}{0pt}}%
+ {\pgfpoint{\the\beamer@tempdim}{0pt}}
+ \pgfpathclose
+ \pgfusepathqstroke
+ \end{pgfpicture}%
+ \hskip-\beamer@tempdim%
+ \box\beamer@tempbox%
+ \kern4pt%
+}
+
+%% beamerbasenavigation
+
+% User Buttons
+
+\pgfdefobject{beamergotosymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{5pt}{5pt}}
+{
+ \pgfpathqmoveto{1.5bp}{0.5bp}
+ \pgfpathqlineto{3.5bp}{2bp}
+ \pgfpathqlineto{1.5bp}{3.5bp}
+ \pgfusepathqfill
+}
+
+\def\insertgotosymbol{%
+ \begin{pgfpicture}{1pt}{0pt}{6pt}{5pt}
+ \pgfuseobject{\ifcase\bbl@thepardir beamergotosymbol\else beamerreturnsymbol\fi}%
+\end{pgfpicture}}
+
+\pgfdefobject{beamerreturnsymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{5pt}{5pt}}
+{
+ \pgfpathqmoveto{3.5bp}{0.5bp}
+ \pgfpathqlineto{1.5bp}{2bp}
+ \pgfpathqlineto{3.5bp}{3.5bp}
+ \pgfusepathqfill
+}
+
+\def\insertreturnsymbol{%
+ \begin{pgfpicture}{1pt}{0pt}{6pt}{5pt}
+ \pgfuseobject{\ifcase\bbl@thepardir beamerreturnsymbol\else beamergotosymbol\fi}%
+\end{pgfpicture}}
+
+
+\pgfdefobject{beamerskipsymbolrl}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{7pt}{5pt}}
+{
+ \pgfpathqmoveto{3.5bp}{0.5bp}
+ \pgfpathqlineto{1.5bp}{2bp}
+ \pgfpathqlineto{3.5bp}{3.5bp}
+ \pgfpathqmoveto{5.5bp}{0.5bp}
+ \pgfpathqlineto{3.5bp}{2bp}
+ \pgfpathqlineto{5.5bp}{3.5bp}
+ \pgfusepathqfill
+}
+
+\pgfdefobject{beamerskipsymbol}{\pgfpoint{0pt}{-1pt}}{\pgfpoint{7pt}{5pt}}
+{
+ \pgfpathqmoveto{1.5bp}{0.5bp}
+ \pgfpathqlineto{3.5bp}{2bp}
+ \pgfpathqlineto{1.5bp}{3.5bp}
+ \pgfpathqmoveto{3.5bp}{0.5bp}
+ \pgfpathqlineto{5.5bp}{2bp}
+ \pgfpathqlineto{3.5bp}{3.5bp}
+ \pgfusepathqfill
+}
+
+\def\insertskipsymbol{%
+ \begin{pgfpicture}{-1pt}{0pt}{6pt}{5pt}
+ \pgfuseobject{\ifcase\bbl@thepardir beamerskipsymbol\else beamerskipsymbolrl\fi}%
+\end{pgfpicture}}
+
+\def\beamergotobutton#1{\beamerbutton{\insertgotosymbol\ #1}}
+\def\beamerreturnbutton#1{\beamerbutton{\insertreturnsymbol\ #1}}
+\def\beamerskipbutton#1{\beamerbutton{\insertskipsymbol\ #1}}
+
+%% beamerbaseframesize
+
+%
+% Zoom stuff
+%
+
+\def\beamer@framezoom<#1><#2>[#3](#4,#5)(#6,#7){%
+ \par\nointerlineskip%
+ \global\beamer@slidehaszoomtrue%
+ \advance\beamer@zoomcount by1\relax%
+ \def\beamer@zoomborderwidth{0}%
+ \edef\beamer@labelzoomed{beamer@labelzoomed@\the\beamer@zoomframecount @\the\beamer@zoomcount}%
+ \setkeys{beamerzoom}{#3}%
+ \only<#1>{%
+ {\hypersetup{pdfhighlight={/P},pdfborder={0 0 \beamer@zoomborderwidth}}%
+ \global\setbox\@tempboxa=\vbox{\hyperlink{\beamer@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@zoombox=\vbox to0pt{\unvbox\beamer@zoombox\box\@tempboxa}%
+ }%
+ \only<#2>{%
+ \@ifundefined{\beamer@labelzoomed}%
+ {%
+ \hypertarget{\beamer@labelzoomed}{}%
+ \expandafter\gdef\csname\beamer@labelzoomed\endcsname{}%
+ }{}%
+ \gdef\beamer@zoomer{%
+ % compute zoom factor
+ \@tempdima=\beamer@frametextheight%
+ \@tempdimb=#7\relax%
+ \@tempcnta=\@tempdimb%
+ \divide\@tempcnta by4096\relax%
+ \multiply\@tempdima by16\relax%
+ \divide\@tempdima by\@tempcnta%
+ \@tempdimb=\paperwidth%
+ \ifbeamer@plainframe%
+ \else%
+ \advance\@tempdimb by-\beamer@leftsidebar%
+ \advance\@tempdimb by-\beamer@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@temp{\strip@pt\@tempdima}%
+ \@tempdimc=\beamer@frametextheight%
+ \advance\@tempdimc by4pt%
+ \@tempdimb=\paperwidth%
+ \ifbeamer@plainframe%
+ \else%
+ \advance\@tempdimb by-\beamer@leftsidebar%
+ \advance\@tempdimb by-\beamer@rightsidebar\relax%
+ \fi%
+ \setbox\@tempboxa=\vbox{\hsize=\@tempdimb\Acrobatmenu{GoBack}{\vbox to
+ \beamer@frametextheight{\hbox to\@tempdimb{\hfil}\vfil}}}%
+ \ht\@tempboxa=0pt%
+ \wd\@tempboxa=0pt%
+ \dp\@tempboxa=0pt%
+ \setbox\beamer@framebox=\vbox to\beamer@frametextheight{{%
+ \ifbeamer@plainframe\beamer@leftmargin=\Gm@lmargin\fi%
+ \begin{oldpgfpicture}{\beamer@leftmargin}{-\beamer@frametextheight}{\beamer@leftmargin}{0pt}
+ \pgftext[left,top]{\box\@tempboxa}
+ \pgfpathrectangle{\pgfpoint{0pt}{-\@tempdimc}}{\pgfpoint{\ifcase\bbl@thepardir \else-\fi\@tempdimb}{\@tempdimc}}%
+ \pgfusepath{clip}
+ \begingroup
+ \pgftransformscale{\beamer@temp}
+ \@tempdima=#4\relax%
+ \@tempdimb=#5\relax%
+ {\pgftransformshift{\pgfpoint{-\@tempdima}{\@tempdimb}}%
+ \pgftext[left,top]{\vbox{\vbox{}\nointerlineskip\unvbox\beamer@framebox}}}
+ \endgroup
+ \end{oldpgfpicture}%
+ }}%
+ \setbox\beamer@framebox=\vbox{%
+ \nobreak\vbox{}\nobreak\par\nobreak\beamer@entrycode\nobreak%
+ \nointerlineskip\unvbox\beamer@frametitlebox%
+ \nobreak%
+ \box\beamer@framebox%
+ \nobreak%
+ \vss%
+ \beamer@exitcode%
+ }%
+ \global\setbox\beamer@footins=\box\voidb@x% no footnotes in zoomed slides
+ }%
+ }%
+}
+
+
+%
+% Shrink stuff
+%
+
+\def\beamer@shrinkframebox{%
+ \@tempdima=\ht\beamer@framebox%
+% \ifdim\@tempdima>\beamer@frametextheight%
+ \@tempcnta=\@tempdima%
+ \divide\@tempcnta by 65536\relax%
+ \@tempdimc=\beamer@frametextheight%
+ \divide\@tempdimc by\@tempcnta\relax%
+ \ifdim\@tempdimc>\beamer@shrinkfactor pt%
+ \@tempdimc=\beamer@shrinkfactor pt%
+ \else%
+ \@tempdima=-100\@tempdimc%
+ \advance\@tempdima by100pt%
+ \ClassWarning{beamer}{Frame text is shrunk by a factor of %
+ \strip@pt\@tempdima\space percent instead of
+ \beamer@shrinkpercentage\space percent}%
+ \fi%
+ \edef\beamer@factortemp{\strip@pt\@tempdimc}%
+ \setbox\beamer@framebox=\vbox to\beamer@frametextheight{%
+ \begin{oldpgfpicture}{0pt}{-\beamer@frametextheight}{0pt}{0pt}
+ {\pgftransformscale{\beamer@factortemp}%
+ \pgftext[left,top]{\box\beamer@framebox}}%
+ \end{oldpgfpicture}%
+ }%
+% \fi%
+}
+
+\endinput