summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/xelatex/bidi/bidi.dtx')
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi.dtx1669
1 files changed, 634 insertions, 1035 deletions
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
index 40087a54282..d4d90f219ee 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
@@ -5,7 +5,7 @@
%<*readme>
___________________
The bidi package
-v40.8
+v41.0
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -30,7 +30,7 @@ The announcements for the new releases of the package will
also appear in the Discussions space under the Announcements
category.
-Current version release date: 2024/12/28
+Current version release date: 2025/01/03
___________________________________________
Vafa Khalighi
@@ -178,11 +178,11 @@ by Vafa Khalighi.
\generate{\file{lettrine-xetex-bidi.def}{\from{\jobname.dtx}{table,lettrine-xetex-bidi.def}}}
\generate{\file{lineno-xetex-bidi.def}{\from{\jobname.dtx}{table,lineno-xetex-bidi.def}}}
\generate{\file{listings-xetex-bidi.def}{\from{\jobname.dtx}{table,listings-xetex-bidi.def}}}
-\generate{\file{loadingorder-xetex-bidi.def}{\from{\jobname.dtx}{table,loadingorder-xetex-bidi.def}}}
\generate{\file{longtable-xetex-bidi.def}{\from{\jobname.dtx}{table,longtable-xetex-bidi.def}}}
\generate{\file{lscape-xetex-bidi.def}{\from{\jobname.dtx}{table,lscape-xetex-bidi.def}}}
\generate{\file{mathtools-xetex-bidi.def}{\from{\jobname.dtx}{table,mathtools-xetex-bidi.def}}}
\generate{\file{mdframed-xetex-bidi.def}{\from{\jobname.dtx}{table,mdframed-xetex-bidi.def}}}
+\generate{\file{media9-xetex-bidi.def}{\from{\jobname.dtx}{table,media9-xetex-bidi.def}}}
\generate{\file{bidi-media9.sty}{\from{\jobname.dtx}{table,bidi-media9.sty}}}
\generate{\file{memoir-xetex-bidi.def}{\from{\jobname.dtx}{table,memoir-xetex-bidi.def}}}
\generate{\file{midfloat-xetex-bidi.def}{\from{\jobname.dtx}{table,midfloat-xetex-bidi.def}}}
@@ -267,7 +267,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 40.8 of the bidi
+ pdftitle={Source documentation for version 41.0 of the bidi
package}%
}
\EnableCrossrefs
@@ -286,7 +286,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}\\
%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-%\large Source documentation for \textcolor{bidiblue}{version 40.8}}
+%\large Source documentation for \textcolor{bidiblue}{version 41.0}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team for maintaining the package in the period 2018--2020.}}
%\setcounter{page}{0}
%\thispagestyle{empty}
@@ -296,7 +296,7 @@ by Vafa Khalighi.
%\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{bidiblue}{version 40.8}}
+%Source documentation for \textcolor{bidiblue}{version 41.0}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -345,7 +345,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{58641}
+%% \CheckSum{57381}
%% \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
%% Lower-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
@@ -550,12 +550,12 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{algorithm2e-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{algorithm2e-xetex-bidi.def}[2018/09/23 v0.2 bidi adaptations for algorithm2e package for XeTeX engine]
+\ProvidesFile{algorithm2e-xetex-bidi.def}[2025/01/03 v0.3 bidi adaptations for algorithm2e package for XeTeX engine]
\expandafter\ifx\csname algocf@within\endcsname\relax% if \algocf@within doesn't exist
\else% else
\renewcommand\thealgocf{\csname the\algocf@within\endcsname\@SepMark\@arabic\c@algocf}%
\fi
-\@ifpackageloaded{color}{}{%
+\ApplyPatchIfPackageLoadedF{color}{%
\bidi@patchcmd{\@algocf@start}{\bgroup}{%
\bgroup
\if@RTL
@@ -581,6 +581,16 @@ by Vafa Khalighi.
\fi
}{}{}
}
+
+\@ifpackagewith{algorithm2e}{algonl}{%
+\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname\@SepMark\arabic{AlgoLine}}%
+}{}
+
+\@ifpackagewith{algorithm2e}{algopart}{\renewcommand{\algocf@within}{part}}{}
+
+\@ifpackagewith{algorithm2e}{algochapter}{\renewcommand{\algocf@within}{chapter}}{}
+
+\@ifpackagewith{algorithm2e}{algosection}{\renewcommand{\algocf@within}{section}}{}
% \end{macrocode}
%
%\iffalse
@@ -865,7 +875,8 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{article-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{article-xetex-bidi.def}[2024/12/07 v0.7 bidi adaptations for standard article class for XeTeX engine]
+\ProvidesFile{article-xetex-bidi.def}[2025/01/03 v0.8 bidi adaptations for standard article class for XeTeX engine]
+\IfClassLoadedT{svmult}{\endinput}
\if@titlepage
\renewcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
@@ -1852,7 +1863,7 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{arydshln-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{arydshln-xetex-bidi.def}[2010/08/01 v0.2 bidi adaptations for arydshln package for XeTeX engine]
+\ProvidesFile{arydshln-xetex-bidi.def}[2025/01/03 v0.3 bidi adaptations for arydshln package for XeTeX engine]
\def\endarray{\adl@endarray \egroup \adl@arrayrestore \if@RTLtab\egroup\endR\egroup\fi\egroup}
\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup}
\expandafter\let\csname endtabular*\endcsname\endtabular
@@ -1940,7 +1951,7 @@ by Vafa Khalighi.
\def\adl@class@start{6}
\def\adl@class@iiiorvii{3}
\fi
-\@ifpackageloaded{colortbl}{%
+\ApplyPatchCodeToPackage{colortbl}{%
\def\adl@inactivate{\adl@org@inactivate \let\CT@setup\adl@CT@setup}
\def\adl@activate{\adl@org@activate \let\CT@setup\adl@act@CT@setup
\let\@endpbox\adl@org@endpbox}
@@ -1986,7 +1997,7 @@ by Vafa Khalighi.
\prepnext@tok}
\let\adl@act@classz\@classz
\let\adl@org@classz\@classz
-}{}
+}
% \end{macrocode}
% \iffalse
%</arydshln-xetex-bidi.def>
@@ -2019,7 +2030,7 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{beamerbaseauxtemplates-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{beamerbaseauxtemplates-xetex-bidi.def}[2024/12/20 v0.4 bidi adaptations for beamerbaseauxtemplates package for XeTeX engine]
+\ProvidesFile{beamerbaseauxtemplates-xetex-bidi.def}[2025/01/03 v0.5 bidi adaptations for beamerbaseauxtemplates package for XeTeX engine]
\bidi@csundef{beamer@@tmpop@subsection in toc@sections numbered}
\bidi@csundef{beamer@@tmpop@subsubsection in toc@sections numbered}
@@ -2329,7 +2340,7 @@ by Vafa Khalighi.
\end{minipage}
}
-\@ifpackageloaded{caption}{%
+\ApplyPatchCodeToPackage{caption}{%
\DeclareCaptionFont{beamer@font}{%
\usebeamerfont*{caption}%
% \usebeamercolor[fg]{caption}%
@@ -2337,7 +2348,7 @@ by Vafa Khalighi.
\SetCaptionDefault{font}{beamer@font}
\DeclareCaptionJustification{bidi@beamer@ragged}{\bidi@beamer@ragged}
\SetCaptionDefault{justification}{bidi@beamer@ragged}
-}{}
+}
% \end{macrocode}
% \iffalse
@@ -2612,7 +2623,7 @@ by Vafa Khalighi.
\usebeamertemplate***{sidebar left}%
\vfil%
}}%
- \@ifpackageloaded{beamerinnerthemeinmargin}{}{%
+ \ApplyPatchIfPackageLoadedF{beamerinnerthemeinmargin}{%
\hskip-\textwidth
}%
\fi
@@ -4719,9 +4730,9 @@ by Vafa Khalighi.
% \section{File \texttt{bidi.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2024/12/28}
-\def\bidi@version{40.8}
-\def\bidi@releasename{William Paul Thurston}
+\def\bididate{2025/01/03}
+\def\bidi@version{41.0}
+\def\bidi@releasename{Maryam Mirzakhani}
\newcommand*{\bidireleasename}{\bidi@releasename}
\ProvidesPackage{bidi}[\bididate\space v\bidi@version\space (Release \bidi@releasename)\space
Bidirectional typesetting in plain TeX and LaTeX]
@@ -4938,7 +4949,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\newcommand*{\@bidi@pdfcustomproperties}{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released December 28, 2024.
+ Released January 3, 2025.
}
\newcommand*{\bidi@beamer@ragged}{}
\@RTLmainfalse
@@ -5031,7 +5042,6 @@ Bidirectional typesetting in plain TeX and LaTeX]
\ExplSyntaxOff
\@onlypreamble\pdfencryptsetup
\input{latex-xetex-bidi.def}
-\input{loadingorder-xetex-bidi.def}
\pdfencryptsetup{%
userpassword,%
@@ -5122,10 +5132,10 @@ Bidirectional typesetting in plain TeX and LaTeX]
%\fi
% \section{File \texttt{bidi.tex}}
% \begin{macrocode}
-\def\bididate{2024/12/28}
+\def\bididate{2025/01/03}
\catcode`@=11
-\def\bidi@version{40.8}
-\def\bidi@releasename{William Paul Thurston}
+\def\bidi@version{41.0}
+\def\bidi@releasename{Maryam Mirzakhani}
\def\bidireleasename{\bidi@releasename}
\let \protect \relax
\newlinechar`\^^J
@@ -5239,7 +5249,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\def\@bidi@pdfcustomproperties{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released December 28, 2024.
+ Released January 3, 2025.
}
\def\bidi@pdfm@mark{%
\special{pdf:%
@@ -6046,7 +6056,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
% \section{File \texttt{biditools.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{biditools}[2024/12/07 v2.4 Programming tools for bidi package]
+\ProvidesPackage{biditools}[2025/01/03 v2.6 Programming tools for bidi package]
\providecommand{\@bidi@saveprimitive}[2]{\begingroup\escapechar`\\\relax
\edef\@tempa{\string#1}\edef\@tempb{\meaning#1}%
\ifx\@tempa\@tempb \global\let#2#1%
@@ -6132,12 +6142,6 @@ Old form `\string#1' should be \string\begin{\expandafter\@gobble\string#1}%
ill-advised in the old versions of bidi package.%
}%
}
-\def\@tagsextension{clo}
-\def\@definitionfileextension{def}
-\def\@texfileextension{tex}
-\def\@iftagsloaded{\@ifl@aded\@tagsextension}
-\def\@ifdefinitionfileloaded{\@ifl@aded\@definitionfileextension}
-\def\@iftexfileloaded{\@ifl@aded\@texfileextension}
\def\eqnewif#1#2{%
\count@\escapechar \escapechar\m@ne
\let#1\iffalse
@@ -6782,14 +6786,6 @@ ill-advised in the old versions of bidi package.%
\catcode\number`\@=\the\catcode`\@\relax}%
\bidi@resrvda}
-\newcommand\bidi@isloaded[2][]{
- \expandafter\ifx\csname if@bidi@#2loaded@\endcsname\relax
- \expandafter\newif\csname if@bidi@#2loaded@\endcsname
- \fi
- \@ifpackageloaded{#2}
- {\csname @bidi@#2loaded@true\endcsname #1}
- {\csname @bidi@#2loaded@false\endcsname}}
-
\protected\def\bidi@ifscanable#1{%
\begingroup
\edef\bidi@resrvda{%
@@ -7546,439 +7542,271 @@ ill-advised in the old versions of bidi package.%
% infinite loop
%\looprepeat \doloopbody {}
-
-\renewcommand{\InputIfFileExists}[2]{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1-@bidi@alias\endcsname\relax
- \expandafter\@secondoftwo
- \else
- \bidi@replacefile@msg{\csname #1-@bidi@alias\endcsname}{#1}%
- \expandafter\@firstoftwo
- \fi
- {%
- \expandafter\InputIfFileExists\expandafter{\csname
- #1-@bidi@alias\endcsname}{#2}%
- }%
- {\IfFileExists{#1}{%
- \bidi@load@hook{before}{#1}%
- #2\@addtofilelist{#1}%
- \@@input \@filef@und
- \bidi@load@hook{after}{#1}%
- }}%
-}
-
-\newcommand*{\bidi@@loadwithoptions}{}
-\newcommand*{\bidi@loadwithoptions}{}
-\let\bidi@loadwithoptions\@loadwithoptions
-
-\renewcommand*{\@loadwithoptions}[3]{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #3.#1-@bidi@aliasname\endcsname\relax
- \def\bidi@@loadwithoptions{\bidi@loadwithoptions{#1}{#2}{#3}}%
- \else
- \bidi@replacefile@msg{\csname #3.#1-@bidi@aliasname\endcsname.#1}{#3.#1}%
- \def\bidi@@loadwithoptions{%
- \@loadwithoptions{#1}{#2}{\csname #3.#1-@bidi@aliasname\endcsname}%
- }%
- \fi
- \bidi@@loadwithoptions
-}
-\newcommand*{\bidi@onefilewithoptions}{}
-\let\bidi@onefilewithoptions\@onefilewithoptions
-\def\@onefilewithoptions#1[#2][#3]#4{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1.#4-@bidi@aliasname\endcsname\relax
- \def\bidi@@onefilewithoptions{\bidi@onefilewithoptions{#1}}%
- \else
- \bidi@replacefile@msg{\csname #1.#4-@bidi@aliasname\endcsname.#4}{#1.#4}%
- \edef\bidi@@onefilewithoptions{%
- \noexpand\@onefilewithoptions{\csname #1.#4-@bidi@aliasname\endcsname}}%
- \fi
- \bidi@@onefilewithoptions[{#2}][{#3}]{#4}%
- \bidi@load@hook{lateafter}{#1.#4}%
-}
-
-\newcommand*{\bidi@ReplaceInput}[2]{%
- \expandafter\edef\csname #1-@bidi@alias\endcsname{#2}%
-}
-
-\newcommand*{\bidi@UnReplaceInput}[1]{%
- \ifcsname #1-@bidi@alias\endcsname
- \expandafter\let\csname #1-@bidi@alias\endcsname\relax
- \fi
-}
-
-\newcommand*{\@bidi@replacefilewithext}[3]{%
- \expandafter\edef\csname #1.#3-@bidi@aliasname\endcsname{#2}%
- }
-\newcommand*{\bidi@ReplacePackage}[2]{%
- \@bidi@replacefilewithext{#1}{#2}\@pkgextension
-}
-\newcommand*{\bidi@ReplaceClass}[2]{%
- \@bidi@replacefilewithext{#1}{#2}\@clsextension
-}
-\newcommand*{\@bidi@unreplacefilewithext}[2]{%
- \ifcsname #1.#2-@bidi@aliasname\endcsname
- \expandafter\let\csname #1.#2-@bidi@aliasname\endcsname\relax
- \fi
-}
-\newcommand*{\bidi@UnReplacePackage}[1]{%
- \@bidi@unreplacefilewithext{#1}\@pkgextension
-}
-\newcommand*{\bidi@UnReplaceClass}[1]{%
- \@bidi@unreplacefilewithext{#1}\@clsextension
-}
-\newcommand*{\bidi@replacefile@msg}[2]{%
- \PackageInfo{biditools}{inputing `#1' instead of `#2'}%
-}
+\ExplSyntaxOn
+\NewDocumentCommand \bidi@AfterClass { s m o +m }
+ {
+ \IfBooleanTF { #1 }
+ {
+ \@ifclassloaded{ #2 }
+ { #4 }
+ {
+ \hook_gput_code:nnn
+ { file / #2.\@clsextension / after }
+ { #3 }
+ { #4 }
+ }
+ }
+ {
+ \hook_gput_code:nnn { file / #2.\@clsextension / after } { #3 } { #4 }
+ }
+ }
+
+\seq_new:N \g__biditools_input_file_seq
-\newcommand*{\bidi@load@hook}[2]{%
- \@ifundefined{#2-@#1}{}{%
- \@nameuse{#2-@#1}%
- \expandafter\let\csname #2-@#1\endcsname=\relax}}
-\newcommand*{\bidi@set@load@hook}[2]{%
- \@ifundefined{#2-@#1}{\@namedef{#2-@#1}{}}{}%
- \expandafter\g@addto@macro\csname #2-@#1\endcsname}
-\newcommand*{\bidi@BeforeFile}{\bidi@set@load@hook{before}}
-\newcommand*{\bidi@AfterFile}{\bidi@set@load@hook{after}}
-\newcommand*{\bidi@BeforeClass}[1]{%
- \bidi@set@load@hook{before}{#1.\@clsextension}}
-\newcommand*{\bidi@AfterClass}{%
- \@ifstar {\@s@bidi@AfterClass}{%
- \@ifnextchar +\@@bidi@AfterClass{%
- \@ifnextchar !\@@@bidi@AfterClass\@bidi@AfterClass
- }%
- }%
-}
+\prg_new_protected_conditional:Npnn \__bidi_if_loading:n #1 { T, F, TF }
+ {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \seq_if_in:NxTF \g__biditools_input_file_seq { \str_use:N \l_tmpa_str }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
-\newcommand*{\@@@bidi@AfterClass}[2]{%
- \begingroup\ifx\csname #2.\@clsextension-h@@k\endcsname\relax
- \aftergroup\@s@bidi@AfterClass
- \else
- \aftergroup\bidi@AfterAtEndOfClass
- \fi
- \endgroup{#2}%
-}
+\prg_new_protected_conditional:Npnn \bidi_if_class_loaded:n #1 { T, F, TF }
+ {
+ \@ifclassloaded { #1 }
+ {
+ \__bidi_if_loading:nTF { #1.\@clsextension }
+ { \prg_return_false: }
+ { \prg_return_true: }
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_new_protected_conditional:Npnn \bidi_if_package_loaded:n #1 { T, F, TF }
+ {
+ \@ifpackageloaded { #1 }
+ {
+ \__bidi_if_loading:nTF { #1.\@pkgextension }
+ { \prg_return_false: }
+ { \prg_return_true: }
+ }
+ {
+ \prg_return_false:
+ }
+ }
-\newcommand*{\bidi@AfterAtEndOfClass}[1]{%
- \bidi@set@load@hook{lateafter}{#1.\@clsextension}}
-\newcommand*{\@@bidi@AfterClass}[2]{%
- \begingroup
- \expandafter\ifx\csname #2.\@clsextension-h@@k\endcsname\relax
- \aftergroup\@s@bidi@AfterClass
- \else
- \aftergroup\@bidi@AfterClass
- \fi
- \endgroup{#2}%
-}
+\NewDocumentCommand \bidi@AfterAtEndOfClass { s m o +m }
+ {
+ \IfBooleanTF { #1 }
+ {
+ \bidi_if_class_loaded:nTF { #2 }
+ { #4 }
+ { \hook_gput_code:nnn { class / #2 / after } { #3 } { #4 } }
+ }
+ {
+ \bidi_if_class_loaded:nF
+ { #2 }
+ { \hook_gput_code:nnn { class / #2 / after } { #3 } { #4 } }
+ }
+ }
+
+\NewDocumentCommand \bidi@AfterPackage { s m o +m }
+ {
+ \IfBooleanTF { #1 }
+ {
+ \@ifpackageloaded{ #2 }
+ { #4 }
+ {
+ \hook_gput_code:nnn
+ { file / #2.\@pkgextension / after }
+ { #3 }
+ { #4 }
+ }
+ }
+ {
+ \hook_gput_code:nnn { file / #2.\@pkgextension / after } { #3 } { #4 }
+ }
+ }
+
+\NewDocumentCommand \bidi@AfterAtEndOfPackage { s m o +m }
+ {
+ \IfBooleanTF { #1 }
+ {
+ \bidi_if_package_loaded:nTF { #2 }
+ { #4 }
+ { \hook_gput_code:nnn { package / #2 / after } { #3 } { #4 } }
+ }
+ {
+ \bidi_if_package_loaded:nF
+ { #2 }
+ { \hook_gput_code:nnn { package / #2 / after } { #3 } { #4 } }
+ }
+ }
+
+\clist_new:N \l__biditools_package_clist
+\msg_new:nnn { biditools } { cannot-prevent-for-already-loaded-package }
+ {
+ Can~not~prevent~package~`#1'~from~being~loaded,~
+ since~it~has~been~loaded~already~before~line~\msg_line_number:
+ }
+\clist_new:N \g__biditools_prevent_clist
-\newcommand*{\@bidi@AfterClass}[1]{%
- \bidi@set@load@hook{after}{#1.\@clsextension}}
-\newcommand*{\@s@bidi@AfterClass}[1]{%
- \begingroup
- \@ifclassloaded{#1}{%
- \aftergroup\@secondoftwo
- }{%
- \aftergroup\@bidi@AfterClass
- }%
- \endgroup
- {#1}%
-}
+\NewDocumentCommand \bidi@PreventPackageFromLoading { s +o m }
+ {
+ \clist_set:Nx \l__biditools_package_clist { #3 }
+ \clist_map_inline:Nn \l__biditools_package_clist
+ {
+ \@ifpackageloaded { ##1 }
+ {
+ \IfBooleanTF { #1 } { \msg_info:nnn } { \msg_warning:nnn }
+ { biditools } { cannot-prevent-for-already-loaded-package } { ##1 }
+ }
+ {
+ \clist_if_in:NnF \g__biditools_prevent_clist { ##1 }
+ { \clist_gput_right:Nn \g__biditools_prevent_clist { ##1 } }
+ \tl_if_exist:cF { g__biditools_exclude_package_##1_tl }
+ {
+ \tl_new:c { g__biditools_exclude_package_##1_tl }
+ }
+ \IfValueT { #2 }
+ {
+ \tl_gput_right:cn { g__biditools_exclude_package_##1_tl } { #2 }
+ }
+ \disable@package@load { ##1 }
+ { \tl_use:c { g__biditools_exclude_package_##1_tl } }
+ }
+ }
+ \clist_clear:N \l__biditools_package_clist
+ }
+
+\NewDocumentCommand \bidi@ResetPreventPackageFromLoading {}
+ {
+ \clist_map_function:NN \g__biditools_prevent_clist \reenable@package@load
+ \clist_gclear:N \g__biditools_prevent_clist
+ }
+
+\NewDocumentCommand \bidi@StorePreventPackageFromLoading { m }
+ { \edef #1 { \clist_use:Nn \g__biditools_prevent_clist { , } } }
+\NewDocumentCommand \bidi@UnPreventPackageFromLoading { s m }
+ {
+ \clist_set:Nx \l__biditools_package_clist { #2 }
+ \clist_map_inline:Nn \l__biditools_package_clist
+ {
+ \clist_if_in:NnT \g__biditools_prevent_clist { ##1 }
+ {
+ \clist_gremove_all:Nn \g__biditools_prevent_clist { ##1 }
+ \reenable@package@load { ##1 }
+ \IfBooleanT { #1 }
+ { \cs_undefine:c { g__biditools_exclude_package_##1_tl } }
+ }
+ }
+ }
-\newcommand*{\bidi@BeforePackage}[1]{%
- \bidi@set@load@hook{before}{#1.\@pkgextension}}
-\newcommand*{\bidi@AfterPackage}{%
- \@ifstar {\@s@bidi@AfterPackage}{%
- \@ifnextchar +\@@bidi@AfterPackage{%
- \@ifnextchar !\@@@bidi@AfterPackage\@bidi@AfterPackage
- }%
- }%
-}
-\newcommand*{\@@@bidi@AfterPackage}[2]{%
- \begingroup\ifx\csname #2.\@pkgextension-h@@k\endcsname\relax
- \aftergroup\@s@bidi@AfterPackage
- \else
- \aftergroup\bidi@AfterAtEndOfPackage
- \fi
- \endgroup{#2}%
-}
-\newcommand*{\bidi@AfterAtEndOfPackage}[1]{%
- \bidi@set@load@hook{lateafter}{#1.\@pkgextension}}
-\newcommand*{\@@bidi@AfterPackage}[2]{%
- \begingroup
- \expandafter\ifx\csname #2.\@pkgextension-h@@k\endcsname\relax
- \aftergroup\@s@bidi@AfterPackage
- \else
- \aftergroup\@bidi@AfterPackage
- \fi
- \endgroup{#2}%
-}
-\newcommand*{\@bidi@AfterPackage}[1]{%
- \bidi@set@load@hook{after}{#1.\@pkgextension}}
-\newcommand*{\@s@bidi@AfterPackage}[1]{%
- \begingroup
- \@ifpackageloaded{#1}{%
- \aftergroup\@secondoftwo
- }{%
- \aftergroup\@bidi@AfterPackage
- }%
- \endgroup
- {#1}%
-}
+\NewDocumentCommand \bidi@BeforeClosingMainAux { o m }
+ {
+ \hook_gput_code:nnn { enddocument / afterlastpage } { #1 }
+ {
+ \debug_suspend:
+ \RenewDocumentCommand \bidi@BeforeClosingMainAux { m } { ##1 }
+ \cs_set_eq:NN \__biditools_protected@write:Nnn \protected@write
+ \cs_set_eq:NN \protected@write \bidi@protected@immediate@write
+ #2
+ \cs_set_eq:NN \protected@write \__biditools_protected@write:Nnn
+ \debug_resume:
+ }
+ }
-\newcommand*{\bidi@excludedpackages}{}
-\let\bidi@excludedpackages\@empty
-\newcommand*{\bidi@saved@RequirePackage}{}
-\newcommand*{\bidi@PreventPackageFromLoading}{%
- \@ifstar{\@bidi@PreventPackageFromLoading\PackageInfo}%
- {\@bidi@PreventPackageFromLoading\PackageWarning}%
-}
-\newcommand*{\@bidi@PreventPackageFromLoading}[1]{%
- \@ifnextchar [%]
- {\@@bidi@PreventPackageFromLoading#1}{\@@bidi@PreventPackageFromLoading#1[]}%
-}
-\newcommand*{\@@bidi@PreventPackageFromLoading}{}
+\NewDocumentCommand \bidi@AfterReadingMainAux { o m }
+ {
+ \hook_gput_code:nnn { enddocument / afteraux } { #1 }
+ {
+ \debug_suspend:
+ \RenewDocumentCommand \bidi@AfterReadingMainAux { m } { ##1 }
+ \cs_set_eq:NN \__biditools_protected@write:Nnn \protected@write
+ \cs_set_eq:NN \protected@write \bidi@protected@immediate@write
+ #2
+ \cs_set_eq:NN \protected@write \__biditools_protected@write:Nnn
+ \debug_resume:
+ }
+ }
+
+\clist_new:N \l__biditools_file_patch_clist
+
+\NewDocumentCommand \ApplyPatchToFiles { m O{def} O{bidi} }
+ {
+ \clist_set:Nx \l__biditools_file_patch_clist { #1 }
+ \clist_map_inline:Nn \l__biditools_file_patch_clist
+ {
+ \ApplyPatchToFile { ##1 } [ #2 ] [ #3 ]
+ }
+ \clist_clear:N \l__biditools_file_patch_clist
+ }
-\def\@@bidi@PreventPackageFromLoading#1[#2]#3{%
- \edef\reserved@b{\zap@space#3 \@empty}%
- \ifx \reserved@b\@empty
- #1{biditools}{%
- \string\bidi@PreventPackageFromLoading\space with empty packages\MessageBreak
- argument ignored%
- }%
- \else
- \ifx\bidi@excludedpackages\@empty
- \let\bidi@saved@RequirePackage\RequirePackage
- \let\RequirePackage\bidi@RequirePackage
- \def\reserved@a##1##{%
- \@latex@error
- {\noexpand \usepackage before \string\documentclass}%
- {\noexpand \usepackage may only appear in the document
- preamble, i.e.,\MessageBreak
- between \noexpand\documentclass and
- \string\begin{document}.}%
- \@gobble}%
- \ifx\reserved@a\usepackage\else
- \ifx\usepackage\bidi@saved@RequirePackage\else
- \PackageWarning{biditools}{%
- Maybe serious problem: unexpected definition of\MessageBreak
- \string\usepackage
- }%
- \fi
- \let\usepackage\RequirePackage
- \fi
- \fi
- \expandafter\@for \expandafter\reserved@a\expandafter:\expandafter=%
- \reserved@b\do {%
- \ifx\reserved@a\@empty
- #1{biditools}{%
- empty package argument for
- \string\bidi@PreventPackageFromLoading\MessageBreak
- ignored%
- }%
- \else
- \expandafter\@ifpackageloaded\expandafter{\reserved@a}{%
- #1{biditools}{%
- package `\reserved@a' already loaded.\MessageBreak
- Cannot prevent it from beeing loaded%
- }%
- }{%
- \edef\bidi@excludedpackages{\bidi@excludedpackages,%
- \reserved@a}%
- \if\relax\detokenize{#2}\relax\else
- \@ifundefined{bidi@exclude@package@\reserved@a @do}{%
- \@namedef{bidi@exclude@package@\reserved@a @do}{}%
- }{}%
- \expandafter\def
- \csname bidi@exclude@package@\reserved@a
- @do\expandafter\expandafter\expandafter\endcsname
- \expandafter\expandafter\expandafter{%
- \csname bidi@exclude@package@\reserved@a @do\endcsname
- #2%
- }%
- \fi
- }%
- \fi
- }%
- \ifx\bidi@excludedpackages\@empty
- \bidi@ResetPreventPackageFromLoading
- \fi
- \fi
-}
+\clist_new:N \l__biditools_package_patch_clist
+
+\NewDocumentCommand \ApplyPatchToPackages { m O{bidi} }
+ {
+ \clist_set:Nx \l__biditools_package_patch_clist { #1 }
+ \clist_map_inline:Nn \l__biditools_package_patch_clist
+ {
+ \ApplyPatchToPackage { ##1 } [ #2 ]
+ }
+ \clist_clear:N \l__biditools_package_patch_clist
+ }
+
+\clist_new:N \l__biditools_class_patch_clist
+
+\NewDocumentCommand \ApplyPatchToClasses { m O{bidi} }
+ {
+ \clist_set:Nx \l__biditools_class_patch_clist { #1 }
+ \clist_map_inline:Nn \l__biditools_class_patch_clist
+ {
+ \ApplyPatchToClass { ##1 } [ #2 ]
+ }
+ \clist_clear:N \l__biditools_class_patch_clist
+ }
+
+\NewDocumentCommand \ApplyPatchToClassesIfPackageLoadedF { m m O{bidi} }
+ {
+ \clist_set:Nx \l__biditools_class_patch_clist { #1 }
+ \clist_map_inline:Nn \l__biditools_class_patch_clist
+ {
+ \ApplyPatchToClassIfPackageLoadedF { ##1 } { #2 } [ #3 ]
+ }
+ \clist_clear:N \l__biditools_class_patch_clist
+ }
+\ExplSyntaxOff
-\@onlypreamble\bidi@PreventPackageFromLoading
-\newcommand*{\bidi@ResetPreventPackageFromLoading}{%
- \let\bidi@excludedpackages\@empty
- \ifx\RequirePackage\bidi@RequirePackage
- \ifx\usepackage\RequirePackage
- \let\usepackage\bidi@saved@RequirePackage
- \fi
- \let\RequirePackage\bidi@saved@RequirePackage
- \fi
+\newcommand*{\bidi@ReplaceInput}{\declare@file@substitution}
+\newcommand*{\bidi@UnReplaceInput}
+{\undeclare@file@substitution}
+\newcommand*{\bidi@ReplacePackage}[2]{%
+ \declare@file@substitution{#1.\@pkgextension}{#2.\@pkgextension}%
}
-\@onlypreamble\bidi@ResetPreventPackageFromLoading
-\newcommand*{\bidi@StorePreventPackageFromLoading}[1]{%
- \let#1\bidi@excludedpackages
+\newcommand*{\bidi@UnReplacePackage}[1]{%
+ \undeclare@file@substitution{#1.\@pkgextension}%
}
-\@onlypreamble\bidi@StorePreventPackageFromLoading
-\newcommand*{\bidi@UnPreventPackageFromLoading}{%
- \@ifstar {\@tempswatrue\@bidi@UnPreventPackageFromLoading}%
- {\@tempswafalse\@bidi@UnPreventPackageFromLoading}%
+\newcommand*{\bidi@ReplaceClass}[2]{%
+ \declare@file@substitution{#1.\@clsextension}{#2.\@clsextension}%
}
-
-\newcommand*{\@bidi@UnPreventPackageFromLoading}[1]{%
- \edef\reserved@b{\zap@space#1 \@empty}%
- \if@tempswa
- \@for\reserved@a:=\reserved@b\do {%
- \ifx\reserved@a\@empty \else
- \ifcsname bidi@exclude@package@\reserved@a @do\endcsname
- \expandafter\let
- \csname bidi@exclude@package@\reserved@a @do\endcsname
- \undefined
- \fi
- \fi
- }%
- \fi
- \ifcsname bidi@excludedpackages\endcsname
- \let\reserved@a\bidi@excludedpackages
- \let\bidi@excludedpackages\@empty
- \expandafter\@for\expandafter\reserved@c
- \expandafter:\expandafter=\reserved@a
- \do{%
- \ifx\reserved@c\@empty\else
- \@expandtwoargs\in@{,\reserved@c,}{,\reserved@b,}%
- \ifin@
- \else
- \edef\bidi@excludedpackages{%
- \bidi@excludedpackages,\reserved@c
- }%
- \fi
- \fi
- }%
- \ifx\bidi@excludedpackages\@empty\bidi@ResetPreventPackageFromLoading\fi
- \fi
+\newcommand*{\bidi@UnReplaceClass}[1]{%
+ \undeclare@file@substitution{#1.\@clsextension}%
}
-
-
-\newcommand*{\bidi@RequirePackage}[2][]{%
- \let\reserved@c\@empty
- \let\reserved@d\@empty
- \edef\reserved@b{\zap@space#2 \@empty}%
- \expandafter\@for\expandafter\reserved@b\expandafter:\expandafter=\reserved@b
- \do {%
- \begingroup
- \@tempswatrue
- \@for\reserved@a:=\bidi@excludedpackages\do {%
- \ifx\reserved@a\reserved@b
- \@tempswafalse
- \fi
- }%
- \if@tempswa
- \xdef\reserved@c{\reserved@c,\reserved@b}%
- \else
- \ifx\reserved@b\@empty\else
- \PackageInfo{biditools}{Excluding package `\reserved@b'\MessageBreak
- from loading}%
- \@ifundefined{bidi@exclude@package@\reserved@b @do}{%
- }{%
- \expandafter\g@addto@macro\expandafter\reserved@d
- \csname bidi@exclude@package@\reserved@b @do\endcsname
- }%
- \fi
- \fi
- \endgroup
- }%
- \ifx\reserved@c\@empty
- \let\reserved@a\bidi@gobbleopt
- \else
- \edef\reserved@a{\noexpand\bidi@saved@RequirePackage[#1]{%
- \expandafter\@gobble\reserved@c\@empty}}%
- \fi
- \expandafter\reserved@d
- \reserved@a
-}
-
-\newcommand{\bidi@gobbleopt}[1][]{}
-\AtEndDocument{%
- \let\bidi@saved@checkend=\@checkend
- \renewcommand*{\@checkend}[1]{%
- \def\reserved@a{#1}\def\reserved@b{document}%
- \bidi@saved@checkend{#1}%
- \ifx\reserved@a\reserved@b
- \let\bidi@saved@clearpage=\clearpage
- \renewcommand*{\clearpage}{\bidi@saved@clearpage
- \bidi@hook@bcma
- \bidi@restore@newpage
- \let\clearpage=\bidi@saved@clearpage}%
- \fi%
- \let\bidi@saved@dofilelist\@dofilelist
- \def\@dofilelist{%
- \bidi@hook@acma
- \let\@dofilelist\bidi@saved@dofilelist
- \bidi@saved@dofilelist
- }%
- }%
+\newcommand*{\bidi@BeforeFile}[1]{%
+ \AddToHook{file/#1/before}%
}
-
-
-\newcommand*{\bidi@saved@checkend}{}
-\newcommand*{\bidi@saved@dofilelist}{}
-\newcommand*{\bidi@redefine@newpage}{%
- \let\bidi@saved@newpage\newpage
- \def\bidi@restore@newpage{%
- \renewcommand*{\newpage}{%
- \PackageWarningNoLine{%
- biditools%
- }{%
- \string\newpage\space at main aux file!\MessageBreak
- You have output material at the main aux file.\MessageBreak
- Note, that the \string\bidi@BeforeClosingMainAux\space commands\MessageBreak
- are processed before the output from aux file%
- }%
- \let\newpage\bidi@saved@newpage
- \newpage
- }%
- }%
- \renewcommand*{\newpage}{%
- \PackageError{%
- biditools%
- }{%
- \string\newpage\space at \string\bidi@BeforeClosingMainAux
- }{%
- You should never use \string\newpage\space or
- \string\clear(double)page or other output material at the\MessageBreak
- argument of \string\bidi@BeforeClosingMainAux!\MessageBreak
- If you'll continue, the \string\newpage\space will be ignored to
- avoid corruption of\MessageBreak
- every prior use of \string\bidi@BeforeClosingMainAux.
- }%
- }%
+\newcommand*{\bidi@AfterFile}[1]{%
+ \AddToHook{file/#1/after}%
}
-
-\newcommand*{\bidi@restore@newpage}{}
-\newcommand*{\bidi@hook@bcma}{}
-\newcommand*{\bidi@hook@acma}{}
-\newcommand*{\bidi@BeforeClosingMainAux}{%
- \ifx\bidi@hook@bcma\@empty
- \gdef\bidi@hook@bcma{%
- \renewcommand*{\bidi@BeforeClosingMainAux}[1]{####1}%
- \let\protected@write\bidi@protected@immediate@write
- \bidi@redefine@newpage
- }%
- \fi
- \g@addto@macro\bidi@hook@bcma%
+\newcommand*{\bidi@BeforeClass}[1]{%
+ \bidi@BeforeFile{#1.\@clsextension}%
}
-
-\newcommand*{\bidi@AfterReadingMainAux}{%
- \ifx\bidi@hook@acma\@empty
- \gdef\bidi@hook@acma{%
- \renewcommand*{\bidi@AfterReadingMainAux}[1]{####1}%
- \let\protected@write\bidi@protected@immediate@write
- }%
- \fi
- \g@addto@macro\bidi@hook@acma%
+\newcommand*{\bidi@BeforePackage}[1]{%
+ \bidi@BeforeFile{#1.\@pkgextension}%
}
\long\def\bidi@protected@immediate@write#1#2#3{%
@@ -7991,79 +7819,126 @@ ill-advised in the old versions of bidi package.%
\if@nobreak\ifvmode\nobreak\fi\fi
}
-\def\bidi@patch@counter{0}%
-\if@bidi@csundef{numexpr}{%
- \def\bidi@patch@stepcounter{%
- \begingroup
- \count@\bidi@patch@counter\relax
- \advance\count@\@ne\relax
- \edef\x{\endgroup
- \noexpand\def\noexpand\bidi@patch@counter{\the\count@}%
- }%
- \x
- }%
-}{%
- \def\bidi@patch@stepcounter{%
- \edef\bidi@patch@counter{%
- \the\numexpr\bidi@patch@counter+\@ne\relax
- }%
- }%
-}
-\def\bidi@patch@list{}
-\def\bidi@patch@Add{%
- \bidi@appto\bidi@patch@list
-}
\def\bidi@patch@AfterPackage#1{%
\@ifpackageloaded{#1}{%
\@firstofone
}{%
- \@bidi@patch@AfterPackage{#1}%
+ \AddToHook{package/#1/after}%
}%
}
-\def\@bidi@patch@AfterPackage#1{%
- \edef\bidi@patch@temp{#1}%
- \bidi@patch@stepcounter
- \expandafter\bidi@patch@@AfterPackage
- \csname @bidi@patch@\bidi@patch@counter\expandafter\endcsname{%
- \bidi@patch@temp
- }%
-}
-\def\bidi@patch@@AfterPackage#1#2#3{%
- \begingroup
- \toks@{#3}%
- \xdef\bidi@patch@gtemp{%
- \noexpand\@ifpackageloaded{#2}{%
- \noexpand\let\noexpand#1\noexpand\relax
- \the\toks@
- }{}%
- }%
- \endgroup
- \let#1\bidi@patch@gtemp
- \bidi@patch@Add#1%
- \bidi@patch@try{bidi@AfterPackage}{#2}#1%
-}
-\def\bidi@patch@try#1#2#3{%
- \if@bidi@csundef{#1}{}{%
- \csname #1\endcsname{#2}{#3}%
+\def\bidi@patch@AfterFile#1{%
+ \IfFileLoadedTF{#1}{%
+ \@firstofone
+ }{%
+ \AddToHook{file/#1/after}%
}%
}
-\AtBeginDocument{\bidi@patch@list}
+\NewDocumentCommand \ApplyPatchToFile { m O{def} O{bidi} }
+ {
+ \bidi@patch@AfterFile{#1.#2}{%
+ \ifnum\catcode`\@=11
+ \input{#1-xetex-#3.def}%
+ \else
+ \bidi@storecatcode\@
+ \makeatletter
+ \input{#1-xetex-#3.def}%
+ \bidi@restorecatcode\@
+ \fi
+ }%
+ }
+
+\NewDocumentCommand \ApplyPatchCodeToFile { m +m O{def} }
+ {
+ \bidi@patch@AfterFile{#1.#3}{#2}%
+ }
+
+\NewDocumentCommand \ApplyPatchToFilesIfPackageLoadedF { m m O{def} O{bidi} }
+ {
+ \AddToHook{begindocument/before}{%
+ \IfPackageLoadedF{#1}{%
+ \ApplyPatchToFiles{#2}[#3][#4]%
+ }%
+ }
+ }
+
+\NewDocumentCommand \ApplyPatchToClassIfPackageLoadedF { m m O{bidi} }
+ {
+ \AddToHook{begindocument/before}{%
+ \IfPackageLoadedF{#2}{%
+ \ifnum\catcode`\@=11
+ \@ifclassloaded{#1}{%
+ \input{#1-xetex-#3.def}%
+ }{}%
+ \else
+ \bidi@storecatcode\@
+ \makeatletter
+ \@ifclassloaded{#1}{%
+ \input{#1-xetex-#3.def}%
+ }{}%
+ \bidi@restorecatcode\@
+ \fi
+ }%
+ }
+ }
+
+\NewDocumentCommand \ApplyPatchToPackageIfPackageLoadedF { m m O{bidi} }
+ {
+ \AddToHook{begindocument/before}{%
+ \IfPackageLoadedF{#2}{%
+ \IfPackageLoadedT{#1}{%
+ \ifnum\catcode`\@=11
+ \input{#1-xetex-#3.def}%
+ \else
+ \bidi@storecatcode\@
+ \makeatletter
+ \input{#1-xetex-#3.def}%
+ \bidi@restorecatcode\@
+ \fi
+ }%
+ }%
+ }
+ }
+
+\NewDocumentCommand \ApplyPatchIfPackageLoaded { m +m +m }
+ {
+ \AddToHook{begindocument/before}{%
+ \ifnum\catcode`\@=11
+ \@ifpackageloaded{#1}{#2}{#3}%
+ \else
+ \bidi@storecatcode\@
+ \makeatletter
+ \@ifpackageloaded{#1}{#2}{#3}%
+ \bidi@restorecatcode\@
+ \fi
+ }
+ }
+
+\NewDocumentCommand \ApplyPatchIfPackageLoadedT { m +m }
+ {
+ \ApplyPatchIfPackageLoaded{#1}{#2}{}%
+ }
+
+\NewDocumentCommand \ApplyPatchIfPackageLoadedF { m +m }
+ {
+ \ApplyPatchIfPackageLoaded{#1}{}{#2}%
+ }
-\bidi@AtEndPreamble{\bidi@patch@list}%
+\NewDocumentCommand \ApplyPatchToPackage { m O{bidi} }
+ {
+ \bidi@patch@AfterPackage{#1}{\input{#1-xetex-#2.def}}%
+ }
-\bidi@AfterEndPreamble{%
- \let\bidi@patch@OrgIfPackageLoaded\@ifpackageloaded
- \let\bidi@patch@OrgIfPackageLater\@ifpackagelater
- \let\bidi@patch@OrgIfClassLoaded\@ifclassloaded
- \let\bidi@patch@OrgIfClassLater\@ifclasslater
- \bidi@patch@list
- \let\@ifpackageloaded\bidi@patch@OrgIfPackageLoaded
- \let\@ifpackagelater\bidi@patch@OrgIfPackageLater
- \let\@ifclassloaded\bidi@patch@OrgIfClassLoaded
- \let\@ifclasslater\bidi@patch@OrgIfClassLater
-}%
+\NewDocumentCommand \ApplyPatchCodeToPackage { m +m }
+ {
+ \bidi@patch@AfterPackage{#1}{#2}%
+ }
+
+\NewDocumentCommand \ApplyPatchToClass { m O{bidi} }
+ {
+ \@ifclassloaded{#1}{\input{#1-xetex-#2.def}}{}%
+ }
% \end{macrocode}
% \iffalse
%</biditools.sty>
@@ -8072,7 +7947,7 @@ ill-advised in the old versions of bidi package.%
% \section{File \texttt{bidituftefloat.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bidituftefloat}[2017/05/19 v0.2
+\ProvidesPackage{bidituftefloat}[2025/01/03 v0.3
bidi implementation of tufte float]
\RequirePackage{xifthen}
\newcommand{\@bidituftefloat@pkgname}{bidituftefloat}
@@ -8098,7 +7973,7 @@ bidi implementation of tufte float]
\setboolean{@bidituftefloat@twoside}{false}%
\setboolean{@bidituftefloat@symmetric}{false}%
}
-\@ifclassloaded{book}{\ExecuteOptions{twoside}}{}
+\IfClassLoadedT{book}{\ExecuteOptions{twoside}}
\newboolean{@bidituftefloat@debug}
\newcommand*{\@bidituftefloat@caption@justification}{\@bidituftefloat@justification@autodetect}
\ProcessOptions
@@ -10530,7 +10405,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{book-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{book-xetex-bidi.def}[2017/06/09 v1.0 bidi adaptations for standard book class for XeTeX engine]
+\ProvidesFile{book-xetex-bidi.def}[2025/01/03 v1.1 bidi adaptations for standard book class for XeTeX engine]
\renewenvironment{theindex}
{\if@twocolumn
\@restonecolfalse
@@ -10546,7 +10421,7 @@ bidi implementation of tufte title]
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}
-\@ifclassloaded{bookest}{}{%
+\IfClassLoadedF{bookest}{%
\if@titlepage
\renewcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
@@ -10997,7 +10872,9 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{crop-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{crop-xetex-bidi.def}[2013/04/10 v0.2 bidi adaptations for crop package for XeTeX engine]
+\ProvidesFile{crop-xetex-bidi.def}[2025/01/03 v0.3 bidi adaptations for crop package for XeTeX engine]
+\IfClassLoadedT{memoir}{\endinput}
+\RequirePackage{graphicx}
\renewcommand*\CROP@@ulc{%
\if@RTLmain%
\begin{picture}(0,0)
@@ -12756,7 +12633,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{extrafootnotefeatures-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2023/08/02 v2.6 bidi extra footnote features for XeTeX engine]
+\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2025/01/03 v2.7 bidi extra footnote features for XeTeX engine]
\newdimen\bidi@columnwidth
\def\bidi@floathook{%
\bidi@columnwidth\columnwidth
@@ -12979,7 +12856,7 @@ bidi implementation of tufte title]
\@bidi@after@Hy@hyperfootnotes
\@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth
}
-\@ifclassloaded{memoir}{\let\plainfootnotes\normalfootnotes}{}
+\IfClassLoadedT{memoir}{\let\plainfootnotes\normalfootnotes}
\bidi@ensure@newcommand*{\setSingleSpace}[1]{%
\def\m@m@singlespace{#1}%
\def\m@m@footnote@spacing{#1}%
@@ -16931,7 +16808,8 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{floatrow-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{floatrow-xetex-bidi.def}[2013/04/08 v0.1 bidi adaptations for floatrow package for XeTeX engine]
+\ProvidesFile{floatrow-xetex-bidi.def}[2025/01/03 v0.2 bidi adaptations for floatrow package for XeTeX engine]
+\RequirePackage{color}
\renewcommand\flnew@within[1]{\@addtoreset{\FB@captype}{#1}%
\expandafter\edef\csname the\FB@captype\endcsname{%
\expandafter\noexpand\csname
@@ -16943,7 +16821,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{flowfram-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{flowfram-xetex-bidi.def}[2018/09/29 v0.5 bidi adaptations for flowfram package for XeTeX engine]
+\ProvidesFile{flowfram-xetex-bidi.def}[2025/01/03 v0.6 bidi adaptations for flowfram package for XeTeX engine]
\def\@outputdblcol{%
\@nxtcol=\c@thisframe
\c@curpg=\c@page
@@ -17062,7 +16940,7 @@ bidi implementation of tufte title]
{\csname colheight\romannumeral#1\endcsname}{%
\expandafter\box\csname column\romannumeral#1\endcsname}%
}}}
-\@ifclassloaded{book}{%
+\IfClassLoadedT{book}{%
\renewcommand\theequation
{\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation}
\renewcommand \thefigure
@@ -17074,8 +16952,8 @@ bidi implementation of tufte title]
\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection \@SepMark\@arabic\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph}
-\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph}}{}
-\@ifclassloaded{report}{%
+\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph}}
+\IfClassLoadedT{report}{%
\renewcommand\theequation
{\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation}
\renewcommand \thefigure
@@ -17087,7 +16965,7 @@ bidi implementation of tufte title]
\renewcommand\thesubsection {\thesection\@SepMark\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection \@SepMark\@arabic\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection\@SepMark\@arabic\c@paragraph}
-\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph}}{}
+\renewcommand\thesubparagraph {\theparagraph\@SepMark\@arabic\c@subparagraph}}
\renewcommand{\rotateframe}[2]{\if@ttb@rotate
\rotatebox{#1}{\if@RTL\beginL\fi#2\if@RTL\endL\fi}%
\else
@@ -18448,7 +18326,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{hyperref-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{hyperref-xetex-bidi.def}[2018/11/11 v1.1 bidi adaptations for hyperref package for XeTeX engine]
+\ProvidesFile{hyperref-xetex-bidi.def}[2025/01/03 v1.2 bidi adaptations for hyperref package for XeTeX engine]
\AtBeginDocument{%
\def\contentsline#1#2#3#4{%
\ifx\\#4\\%
@@ -18598,7 +18476,7 @@ bidi implementation of tufte title]
\fi
}%
}%
- \@ifpackageloaded{tabularx}{%
+ \ApplyPatchCodeToPackage{tabularx}{%
\let\HyOrg@TX@endtabularx\TX@endtabularx
\def\Hy@tabularx@hook{%
\let\@footnotetext\H@@footnotetext
@@ -18617,8 +18495,8 @@ bidi implementation of tufte title]
}%
\endgroup
\let\TX@endtabularx\Hy@gtemp
- }{}%
- \@ifpackageloaded{longtable}{%
+ }%
+ \ApplyPatchCodeToPackage{longtable}{%
\CheckCommand*{\LT@p@LTRftntext}[1]{%
\edef\@tempa{%
\the\LT@p@ftn
@@ -18695,8 +18573,8 @@ bidi implementation of tufte title]
\fi
}%
}%
- }{}%
- \@ifpackageloaded{bidipoem}{%
+ }%
+ \ApplyPatchCodeToPackage{bidipoem}{%
\long\def\bidipoem@p@ftntext#1{%
\edef\@tempx{%
\the\bidipoem@p@ftn
@@ -18790,7 +18668,7 @@ bidi implementation of tufte title]
\fi
}%
}%
- }{}%
+ }%
\let\HyOrg@maketitle\maketitle
\def\maketitle{%
\let\Hy@saved@footnotemark\@footnotemark
@@ -18995,7 +18873,7 @@ bidi implementation of tufte title]
\def\XeTeX{Xe\TeX}%
\def\XeLaTeX{Xe\LaTeX}%
}
-\@ifpackageloaded{longtable}{%
+\ApplyPatchCodeToPackage{longtable}{%
\begingroup
\def\y{\LT@array}%
\@ifundefined{scr@LT@array}{%
@@ -19025,7 +18903,7 @@ bidi implementation of tufte title]
}%
}%
\expandafter\x\LT@start\@nil
-}{}
+}
\bidi@patchcmd\@TextField{%
\@pdfm@mark
}{%
@@ -19312,7 +19190,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{listings-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{listings-xetex-bidi.def}[2018/09/15 v1.5 bidi adaptations for listings package for XeTeX engine]
+\ProvidesFile{listings-xetex-bidi.def}[2025/01/03 v1.6 bidi adaptations for listings package for XeTeX engine]
\lst@Key{captiondirection}{textdirection}{%
\lstKV@SwitchCases{#1}%
{textdirection:\\%
@@ -19392,7 +19270,7 @@ bidi implementation of tufte title]
\endgroup%
}{}{}%
}
-\@ifpackageloaded{caption}{%
+\ApplyPatchIfPackageLoaded{caption}{%
\AtBeginCaption{%
\bidi@lst@ensure@caption@script{\@nonlatintrue}{\@nonlatinfalse}%
\bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLtrue}%
@@ -19419,312 +19297,11 @@ bidi implementation of tufte title]
% \end{macrocode}
% \iffalse
%</listings-xetex-bidi.def>
-%<*loadingorder-xetex-bidi.def>
-%\fi
-% \section{File \texttt{loadingorder-xetex-bidi.def}}
-% \begin{macrocode}
-\ProvidesFile{loadingorder-xetex-bidi.def}[2024/12/08 v0.99 making sure that bidi is the last package loaded]
-\bidi@isloaded{amsmath}
-\bidi@isloaded{amstext}
-\bidi@isloaded{amsthm}
-\bidi@isloaded{animate}
-\bidi@isloaded{breqn}
-\bidi@isloaded{cals}
-\bidi@isloaded{caption}
-\bidi@isloaded{crop}
-\bidi@isloaded{cuted}
-\bidi@isloaded{cutwin}
-\bidi@isloaded{color}
-\bidi@isloaded{dblfnote}
-\bidi@isloaded{diagbox}
-\bidi@isloaded{xcolor}
-\bidi@isloaded{colortbl}
-\bidi@isloaded{float}
-\bidi@isloaded{floatrow}
-\bidi@isloaded{flowfram}
-\bidi@isloaded{framed}
-\bidi@isloaded{ftnright}
-\bidi@isloaded{xltxtra}
-\bidi@isloaded{xunicode}
-\bidi@isloaded{wrapfig}
-\bidi@isloaded{graphicx}
-\bidi@isloaded{geometry}
-\bidi@isloaded{hvfloat}
-\bidi@isloaded{mdframed}
-\bidi@isloaded{midfloat}
-\bidi@isloaded{ntheorem}
-\bidi@isloaded{ntheorem-hyper}
-\bidi@isloaded{hyperref}
-\bidi@isloaded{fancybox}
-\bidi@isloaded{fancyhdr}
-\bidi@isloaded{fix2col}
-\bidi@isloaded{draftwatermark}
-\bidi@isloaded{empheq}
-\bidi@isloaded{overpic}
-\bidi@isloaded{pdfpages}
-\bidi@isloaded{listings}
-\bidi@isloaded{lettrine}
-\bidi@isloaded{lineno}
-\bidi@isloaded{media9}
-\bidi@isloaded{pstricks}
-\bidi@isloaded{pgf}
-\bidi@isloaded{picinpar}
-\bidi@isloaded{quotchap}
-\bidi@isloaded{tikz}
-\bidi@isloaded{titlesec}
-\bidi@isloaded{titletoc}
-\bidi@isloaded{array}
-\bidi@isloaded{soul}
-\bidi@isloaded{stabular}
-\bidi@isloaded{subfig}
-\bidi@isloaded{subfigure}
-\bidi@isloaded{supertabular}
-\bidi@isloaded{xtab}
-\bidi@isloaded{longtable}
-\bidi@isloaded{arydshln}
-\bidi@isloaded{multicol}
-\bidi@isloaded{multienum}
-\bidi@isloaded{minitoc}
-\bidi@isloaded{natbib}
-\bidi@isloaded{newfloat}
-\bidi@isloaded{ragged2e}
-\bidi@isloaded{rotating}
-\bidi@isloaded{tabls}
-\bidi@isloaded{tabulary}
-\bidi@isloaded{tocbasic}
-\bidi@isloaded{tocstyle}
-\bidi@isloaded{tocbibind}
-\bidi@isloaded{fontspec}
-\bidi@isloaded{arabxetex}
-\bidi@isloaded{polyglossia}
-\bidi@isloaded{fancyvrb}
-\AtBeginDocument{
- \if@bidi@amsmathloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package amsmath after bidi package. Please load package amsmath before bidi package, and then try to run xelatex on your document again}{}]{amsmath}
- \fi%
- \if@bidi@amstextloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package amstext after bidi package. Please load package amstext before bidi package, and then try to run xelatex on your document again}{}]{amstext}
- \fi%
- \if@bidi@amsthmloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package amsthm after bidi package. Please load package amsthm before bidi package, and then try to run xelatex on your document again}{}]{amsthm}
- \fi%
- \if@bidi@animateloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package animate after bidi package. Please load package animate before bidi package, and then try to run xelatex on your document again}{}]{animate}
- \fi%
- \if@bidi@breqnloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package breqn after bidi package. Please load package breqn before bidi package, and then try to run xelatex on your document again}{}]{breqn}
- \fi%
- \if@bidi@calsloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package cals after bidi package. Please load package cals before bidi package, and then try to run xelatex on your document again}{}]{cals}
- \fi%
- \if@bidi@captionloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package caption after bidi package. Please load package caption before bidi package, and then try to run xelatex on your document again}{}]{caption}
- \fi%
- \if@bidi@croploaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package crop after bidi package. Please load package crop before bidi package, and then try to run xelatex on your document again}{}]{crop}
- \fi%
- \if@bidi@colorloaded@\else
- \@ifpackageloaded{hyperref}{}{%
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package color after bidi package. Please load package color before bidi package, and then try to run xelatex on your document again}{}]{color}}
- \fi%
- \if@bidi@cutwinloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package cutwin after bidi package. Please load package cutwin before bidi package, and then try to run xelatex on your document again}{}]{cutwin}
- \fi%
- \if@bidi@cutedloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package cuted after bidi package. Please load package cuted before bidi package, and then try to run xelatex on your document again}{}]{cuted}
- \fi%
- \if@bidi@dblfnoteloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package dblfnote after bidi package. Please load package dblfnote before bidi package, and then try to run xelatex on your document again}{}]{dblfnote}
- \fi%
- \if@bidi@diagboxloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package diagbox after bidi package. Please load package diagbox before bidi package, and then try to run xelatex on your document again}{}]{diagbox}
- \fi%
- \if@bidi@xcolorloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package xcolor after bidi package. Please load package xcolor before bidi package, and then try to run xelatex on your document again}{}]{xcolor}
- \fi%
- \if@bidi@colortblloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package colortbl after bidi package. Please load package colortbl before bidi package, and then try to run xelatex on your document again}{}]{colortbl}
- \fi%
- \if@bidi@floatloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package float after bidi package. Please load package float before bidi package, and then try to run xelatex on your document again}{}]{float}
- \fi%
- \if@bidi@floatrowloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package floatrow after bidi package. Please load package floatrow before bidi package, and then try to run xelatex on your document again}{}]{floatrow}
- \fi%
- \if@bidi@flowframloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package flowfram after bidi package. Please load package flowfram before bidi package, and then try to run xelatex on your document again}{}]{flowfram}
- \fi%
- \if@bidi@framedloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package framed after bidi package. Please load package framed before bidi package, and then try to run xelatex on your document again}{}]{framed}
- \fi%
- \if@bidi@ftnrightloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package ftnright after bidi package. Please load package ftnright before bidi package, and then try to run xelatex on your document again}{}]{ftnright}
- \fi%
- \if@bidi@xltxtraloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package xltxtra after bidi package. Please load package xltxtra before bidi package, and then try to run xelatex on your document again}{}]{xltxtra}
- \fi%
- \if@bidi@xunicodeloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package xunicode after bidi package. Please load package xunicode before bidi package, and then try to run xelatex on your document again}{}]{xunicode}
- \fi%
- \if@bidi@wrapfigloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package wrapfig after bidi package. Please load package wrapfig before bidi package, and then try to run xelatex on your document again}{}]{wrapfig}
- \fi%
- \if@bidi@graphicxloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package graphicx after bidi package. Please load package graphicx before bidi package, and then try to run xelatex on your document again}{}]{graphicx}
- \fi%
- \if@bidi@geometryloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package geometry after bidi package. Please load package geometry before bidi package, and then try to run xelatex on your document again}{}]{geometry}
- \fi%
- \if@bidi@hvfloatloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package hvfloat after bidi package. Please load package hvfloat before bidi package, and then try to run xelatex on your document again}{}]{hvfloat}
- \fi%
- \if@bidi@mdframedloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package mdframed after bidi package. Please load package mdframed before bidi package, and then try to run xelatex on your document again}{}]{mdframed}
- \fi%
- \if@bidi@midfloatloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package midfloat after bidi package. Please load package midfloat before bidi package, and then try to run xelatex on your document again}{}]{midfloat}
- \fi%
- \if@bidi@ntheoremloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package ntheorem after bidi package. Please load package ntheorem before bidi package, and then try to run xelatex on your document again}{}]{ntheorem}
- \fi%
- \if@bidi@hyperrefloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package hyperref after bidi package. Please load package hyperref before bidi package, and then try to run xelatex on your document again}{}]{hyperref}
- \fi%
- \if@bidi@fancyboxloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package fancybox after bidi package. Please load package fancybox before bidi package, and then try to run xelatex on your document again}{}]{fancybox}
- \fi%
- \if@bidi@fancyhdrloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package fancyhdr after bidi package. Please load package fancyhdr before bidi package, and then try to run xelatex on your document again}{}]{fancyhdr}
- \fi%
- \if@bidi@draftwatermarkloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package draftwatermark after bidi package. Please load package draftwatermark before bidi package, and then try to run xelatex on your document again}{}]{draftwatermark}
- \fi%
- \if@bidi@empheqloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package empheq after bidi package. Please load package empheq before bidi package, and then try to run xelatex on your document again}{}]{empheq}
- \fi%
- \if@bidi@overpicloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package overpic after bidi package. Please load package overpic before bidi package, and then try to run xelatex on your document again}{}]{overpic}
- \fi%
- \if@bidi@pdfpagesloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package pdfpages after bidi package. Please load package pdfpages before bidi package, and then try to run xelatex on your document again}{}]{pdfpages}
- \fi%
- \if@bidi@lettrineloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package lettrine after bidi package. Please load package lettrine before bidi package, and then try to run xelatex on your document again}{}]{lettrine}
- \fi
- \if@bidi@linenoloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package lineno after bidi package. Please load package lineno before bidi package, and then try to run xelatex on your document again}{}]{lineno}
- \fi%
- \if@bidi@listingsloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package listings after bidi package. Please load package listings before bidi package, and then try to run xelatex on your document again}{}]{listings}
- \fi%
- \csname if@bidi@media9loaded@\endcsname\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package media9 after bidi package. Please load package media9 before bidi package, and then try to run xelatex on your document again}{}]{media9}
- \fi%
- \if@bidi@pstricksloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package pstricks after bidi package. Please load package pstricks before bidi package, and then try to run xelatex on your document again}{}]{pstricks}
- \fi%
- \if@bidi@pgfloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package pgf after bidi package. Please load package pgf before bidi package, and then try to run xelatex on your document again}{}]{pgf}
- \fi%
- \if@bidi@picinparloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package picinpar after bidi package. Please load package picinpar before bidi package, and then try to run xelatex on your document again}{}]{picinpar}
- \fi%
- \if@bidi@quotchaploaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package quotchap after bidi package. Please load package quotchap before bidi package, and then try to run xelatex on your document again}{}]{quotchap}
- \fi%
- \if@bidi@tikzloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tikz after bidi package. Please load package tikz before bidi package, and then try to run xelatex on your document again}{}]{tikz}
- \fi%
- \if@bidi@titlesecloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package titlesec after bidi package. Please load package titlesec before bidi package, and then try to run xelatex on your document again}{}]{titlesec}
- \fi%
- \if@bidi@titletocloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package titletoc after bidi package. Please load package titletoc before bidi package, and then try to run xelatex on your document again}{}]{titletoc}
- \fi%
- \if@bidi@arrayloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package array after bidi package. Please load package array before bidi package, and then try to run xelatex on your document again}{}]{array}
- \fi%
- \if@bidi@stabularloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package stabular after bidi package. Please load package stabular before bidi package, and then try to run xelatex on your document again}{}]{stabular}
- \fi%
- \if@bidi@soulloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package soul after bidi package. Please load package soul before bidi package, and then try to run xelatex on your document again}{}]{soul}
- \fi%
- \if@bidi@subfigloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package subfig after bidi package. Please load package subfig before bidi package, and then try to run xelatex on your document again}{}]{subfig}
- \fi%
- \if@bidi@subfigureloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package subfigure after bidi package. Please load package subfigure before bidi package, and then try to run xelatex on your document again}{}]{subfigure}
- \fi%
- \if@bidi@supertabularloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package supertabular after bidi package. Please load package supertabular before bidi package, and then try to run xelatex on your document again}{}]{supertabular}
- \fi%
- \if@bidi@xtabloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package xtab after bidi package. Please load package xtab before bidi package, and then try to run xelatex on your document again}{}]{xtab}
- \fi%
- \if@bidi@longtableloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package longtable after bidi package. Please load package longtable before bidi package, and then try to run xelatex on your document again}{}]{longtable}
- \fi%
- \if@bidi@arydshlnloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package arydshln after bidi package. Please load package arydshln before bidi package, and then try to run xelatex on your document again}{}]{arydshln}
- \fi%
- \if@bidi@multicolloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package multicol after bidi package. Please load package multicol before bidi package, and then try to run xelatex on your document again}{}]{multicol}
- \fi%
- \if@bidi@multienumloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package multienum after bidi package. Please load package multienum before bidi package, and then try to run xelatex on your document again}{}]{multienum}
- \fi%
- \if@bidi@minitocloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package minitoc after bidi package. Please load package minitoc before bidi package, and then try to run xelatex on your document again}{}]{minitoc}
- \fi%
- \if@bidi@natbibloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package natbib after bidi package. Please load package natbib before bidi package, and then try to run xelatex on your document again}{}]{natbib}
- \fi%
- \if@bidi@newfloatloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package newfloat after bidi package. Please load package newfloat before bidi package, and then try to run xelatex on your document again}{}]{newfloat}
- \fi%
- \csname if@bidi@ragged2eloaded@\endcsname\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package ragged2e after bidi package. Please load package ragged2e before bidi package, and then try to run xelatex on your document again}{}]{ragged2e}
- \fi%
- \if@bidi@rotatingloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package rotating after bidi package. Please load package rotating before bidi package, and then try to run xelatex on your document again}{}]{rotating}
- \fi%
- \if@bidi@tablsloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tabls after bidi package. Please load package tabls before bidi package, and then try to run xelatex on your document again}{}]{tabls}
- \fi%
- \if@bidi@tabularyloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tabulary after bidi package. Please load package tabulary before bidi package, and then try to run xelatex on your document again}{}]{tabulary}
- \fi%
- \if@bidi@tocbasicloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tocbasic after bidi package. Please load package tocbasic before bidi package, and then try to run xelatex on your document again}{}]{tocbasic}
- \fi%
- \if@bidi@tocstyleloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tocstyle after bidi package. Please load package tocstyle before bidi package, and then try to run xelatex on your document again}{}]{tocstyle}
- \fi%
- \if@bidi@tocbibindloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package tocbibind after bidi package. Please load package tocbibind before bidi package, and then try to run xelatex on your document again}{}]{tocbibind}
- \fi%
- \if@bidi@fontspecloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package fontspec after bidi package. Please load package fontspec before bidi package, and then try to run xelatex on your document again}{}]{fontspec}
- \fi%
- \if@bidi@arabxetexloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package arabxetex after bidi package. Please load package arabxetex before bidi package, and then try to run xelatex on your document again}{}]{arabxetex}
- \fi%
- \if@bidi@polyglossialoaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package polyglossia after bidi package. Please load package polyglossia before bidi package, and then try to run xelatex on your document again}{}]{polyglossia}
- \fi%
- \if@bidi@fancyvrbloaded@\else
- \bidi@isloaded[\PackageError{bidi}{Oops! you have loaded package fancyvrb after bidi package. Please load package fancyvrb before bidi package, and then try to run xelatex on your document again}{}]{fancyvrb}
- \fi%
-}
-% \end{macrocode}
-% \iffalse
-%</loadingorder-xetex-bidi.def>
%<*longtable-xetex-bidi.def>
%\fi
% \section{File \texttt{longtable-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{longtable-xetex-bidi.def}[2022/05/20 v0.6 bidi adaptations for longtable package for XeTeX engine]
+\ProvidesFile{longtable-xetex-bidi.def}[2025/01/03 v0.7 bidi adaptations for longtable package for XeTeX engine]
\def\LT@array[#1]#2{%
\refstepcounter{table}\stepcounter{LT@tables}%
\if l#1%
@@ -19788,7 +19365,7 @@ bidi implementation of tufte title]
\fi
\endgraf\vskip\baselineskip}%
\hss}}}
-\@ifpackageloaded{caption}{%
+\ApplyPatchCodeToPackage{caption}{%
\renewcommand\LT@makecaption[3]{%
\caption@LT@make{%
\caption@LT@settype\LTcaptype
@@ -19805,7 +19382,7 @@ bidi implementation of tufte title]
\caption@@make{#2}{#3}\endgraf
\caption@make@below
\caption@end}}%
-}{}
+}
\def\LT@startpbox#1{%
\bgroup\color@begingroup
\let\@footnotetext\LT@p@ftntext
@@ -19857,7 +19434,8 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{lscape-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{lscape-xetex-bidi.def}[2022/07/14 v0.2 bidi adaptations for lscape package for XeTeX engine]
+\ProvidesFile{lscape-xetex-bidi.def}[2025/01/03 v0.3 bidi adaptations for lscape package for XeTeX engine]
+\RequirePackage{graphicx}
\bidi@patchcmd{\LS@rot}{\rotatebox{90}{\box\@outputbox}}{%
\if@RTL
\rotatebox[origin=br]{-90}{\box\@outputbox}%
@@ -19894,7 +19472,8 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{mathtools-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{mathtools-xetex-bidi.def}[2018/01/07 v0.1 bidi adaptations for mathtools package for XeTeX engine]
+\ProvidesFile{mathtools-xetex-bidi.def}[2025/01/03 v0.2 bidi adaptations for mathtools package for XeTeX engine]
+\RequirePackage{graphicx}
\MHInternalSyntaxOn
\def\MT_define_tagform:nwnn #1[#2]#3#4{
\@namedef{MT_tagform_#1:n}##1
@@ -19987,6 +19566,15 @@ bidi implementation of tufte title]
% \end{macrocode}
% \iffalse
%</mdframed-xetex-bidi.def>
+%<*media9-xetex-bidi.def>
+%\fi
+% \section{File \texttt{media9-xetex-bidi.def}}
+% \begin{macrocode}
+\ProvidesFile{media9-xetex-bidi.def}[2025/01/03 v0.1 bidi adaptations for media9 package for XeTeX engine]
+\RequirePackage{bidi-media9}
+% \end{macrocode}
+% \iffalse
+%</media9-xetex-bidi.def>
%<*bidi-media9.sty>
%\fi
% \section{File \texttt{bidi-media9.sty}}
@@ -20580,7 +20168,7 @@ bidi implementation of tufte title]
%\fi
% \section{File \texttt{memoir-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{memoir-xetex-bidi.def}[2017/06/09 v0.6 bidi adaptations for memoir class for XeTeX engine]
+\ProvidesFile{memoir-xetex-bidi.def}[2025/01/03 v0.7 bidi adaptations for memoir class for XeTeX engine]
\renewcommand{\keepthetitle}{%
\@bsmtitlempty
\global\let\thanks\relax
@@ -20690,7 +20278,7 @@ bidi implementation of tufte title]
} % end of the \parbox
\fi
\vskip\belowcaptionskip}
-\@ifpackageloaded{caption}{%
+\ApplyPatchCodeToPackage{caption}{%
\AtBeginPackage{caption}{
\ClassWarningNoLine{memoir}{%
You are using the caption package with the memoir \MessageBreak
@@ -20731,7 +20319,7 @@ bidi implementation of tufte title]
\normalsize
\@makecaption{\csname fnum@##1\endcsname}{\ignorespaces ##3}\par
\endgroup}
-}}{}
+}}
\renewenvironment{thebibliography}[1]{%
\bibsection
\if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi
@@ -25464,13 +25052,39 @@ to\rtside{\box\bslice\hfil}}
%\fi
% \section{File \texttt{sidecap-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{sidecap-xetex-bidi.def}[2010/08/01 v0.1 bidi adaptations for sidecap package for XeTeX engine]
+\ProvidesFile{sidecap-xetex-bidi.def}[2025/01/03 v0.2 bidi adaptations for sidecap package for XeTeX engine]
+\RequirePackage{ragged2e}
\renewcommand*{\SC@FLOAT}[2]{\if@RTL%
\isSC@ODD{{#1}\hspace{\sidecaptionsep}{#2}} {{#2}\hspace{\sidecaptionsep}{#1}}\else%
\isSC@ODD{{#2}\hspace{\sidecaptionsep}{#1}} {{#1}\hspace{\sidecaptionsep}{#2}}\fi}
\renewcommand*\SC@justify@caption{\if@RTL%
\isSC@ODD{\RaggedLeft}{\RaggedRight}\else%
\isSC@ODD{\RaggedRight}{\RaggedLeft}\fi}
+
+\@ifpackagewith{sidecap}{innercaption}{%
+\if@RTL \renewcommand*{\SC@FLOAT}[2]{%
+ \isSC@ODD{{#2}\hspace{\sidecaptionsep}{#1}} {{#1}\hspace{\sidecaptionsep}{#2}}}
+ \renewcommand*\SC@justify@caption{%
+ \isSC@ODD{\RaggedRight}{\RaggedLeft}}\else
+ \renewcommand*{\SC@FLOAT}[2]{%
+ \isSC@ODD{{#1}\hspace{\sidecaptionsep}{#2}} {{#2}\hspace{\sidecaptionsep}{#1}}}
+ \renewcommand*\SC@justify@caption{%
+ \isSC@ODD{\RaggedLeft}{\RaggedRight}}\fi
+}{}
+
+\@ifpackagewith{sidecap}{rightcaption}{%
+ \if@RTL\renewcommand*{\SC@FLOAT}[2]{{#1}\hspace{\sidecaptionsep}{#2}}
+ \def\SC@justify@caption{\RaggedLeft}\else%
+ \renewcommand*{\SC@FLOAT}[2]{{#2}\hspace{\sidecaptionsep}{#1}}
+ \def\SC@justify@caption{\RaggedRight}\fi%
+}{}
+
+\@ifpackagewith{sidecap}{leftcaption}{%
+\if@RTL \renewcommand*{\SC@FLOAT}[2]{{#2}\hspace{\sidecaptionsep}{#1}}
+ \def\SC@justify@caption{\RaggedRight}\else%
+ \renewcommand*{\SC@FLOAT}[2]{{#1}\hspace{\sidecaptionsep}{#2}}
+ \def\SC@justify@caption{\RaggedLeft}\fi%
+}{}
% \end{macrocode}
% \iffalse
%</sidecap-xetex-bidi.def>
@@ -25895,9 +25509,10 @@ to\rtside{\box\bslice\hfil}}
%\fi
% \section{File \texttt{tocbibind-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{tocbibind-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for tocbibind package for XeTeX engine]
+\ProvidesFile{tocbibind-xetex-bidi.def}[2025/01/03 v0.5 bidi adaptations for tocbibind package for XeTeX engine]
+\IfClassLoadedT{memoir}{\endinput}
\if@dotocbib
- \@ifpackageloaded{natbib}{}{% natbib not loaded
+ \ApplyPatchIfPackageLoadedF{natbib}{% natbib not loaded
\renewcommand{\bibsection}{\t@cb@bchapsec}
\renewenvironment{thebibliography}[1]{%
\bibsection
@@ -25922,9 +25537,11 @@ to\rtside{\box\bslice\hfil}}
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
+\ApplyPatchCodeToPackage{chapterbib}{%
\@ifpackagewith{chapterbib}{sectionbib}%
{\renewcommand{\sectionbib}[2]{}}%
- {}
+ {}%
+ }
\fi
\if@inltxdoc\else
@@ -25983,7 +25600,8 @@ to\rtside{\box\bslice\hfil}}
%\fi
% \section{File \texttt{tocloft-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{tocloft-xetex-bidi.def}[2023/08/02 v0.3 bidi adaptations for tocloft package for XeTeX engine]
+\ProvidesFile{tocloft-xetex-bidi.def}[2025/01/03 v0.4 bidi adaptations for tocloft package for XeTeX engine]
+\IfClassLoadedT{memoir}{\endinput}
\renewcommand{\cftpnumalign}{\if@RTL l\else r\fi}
\let\cftdot\@SepMark
\if@cfthaspart
@@ -27663,7 +27281,7 @@ to\rtside{\box\bslice\hfil}}
%\fi
% \section{File \texttt{latex-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{latex-xetex-bidi.def}[2024/12/08 v1.5.1 bidi adaptations for `latex.ltx' for XeTeX engine]
+\ProvidesFile{latex-xetex-bidi.def}[2025/01/03 v1.5.2 bidi adaptations for `latex.ltx' for XeTeX engine]
\newcommand{\TeXXeTOn}{\TeXXeTstate\@ne}
\newcommand{\TeXXeTOff}{\TeXXeTstate\z@}
\TeXXeTOn
@@ -27781,7 +27399,7 @@ to\rtside{\box\bslice\hfil}}
\let\setLR=\setLTR
\let\unsetRL=\setLTR
\def\bidi@tabular@RTLcases{\let\@halignto\@empty\@bidi@tabular@RTLcases}
-\@ifpackageloaded{array}{%
+\ApplyPatchIfPackageLoaded{array}{%
\def\@bidi@tabular@RTLcases{\@RTLtabtrue%
\leavevmode
\hbox \bgroup $\left.\col@sep\tabcolsep \let\d@llarbegin\begingroup
@@ -28466,7 +28084,7 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi}
\let\bidi@saved@leqno=\leqno
\def\eqno{\ifnum\predisplaydirection<\z@ \bidi@saved@leqno \else \bidi@saved@eqno \fi}
\def\leqno{\ifnum\predisplaydirection<\z@ \bidi@saved@eqno \else \bidi@saved@leqno \fi}
-\@ifpackageloaded{amsmath}{}{
+\ApplyPatchIfPackageLoadedF{amsmath}{
\def\@eqnnum{{\normalfont \normalcolor \if@RTL\beginR\fi(\theequation)\if@RTL\endR\fi}}
}
\input{footnote-xetex-bidi.def}
@@ -28479,182 +28097,163 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi}
\if@bidi@csundef{@idxitem}{}{%
\renewcommand\@idxitem{\par\hangindent \if@RTL-\fi40\p@}%
}
-\@ifpackageloaded{tocbasic}{\input{tocbasic-xetex-bidi.def}}{}
-\@ifclassloaded{article}{\@ifclassloaded{svmult}{}{\input{article-xetex-bidi.def}}}{}
-\@ifclassloaded{extarticle}{\input{extarticle-xetex-bidi.def}}{}
-\@ifclassloaded{artikel1}{\input{artikel1-xetex-bidi.def}}{}
-\@ifclassloaded{artikel2}{\input{artikel2-xetex-bidi.def}}{}
-\@ifclassloaded{artikel3}{\input{artikel3-xetex-bidi.def}}{}
-\@ifclassloaded{amsart}{\input{amsart-xetex-bidi.def}}{}
-\@ifclassloaded{beamer}{\input{beamer-xetex-bidi.def}}{}
-\@ifclassloaded{letter}{\input{letter-xetex-bidi.def}}{}
-\@ifclassloaded{extletter}{\input{extletter-xetex-bidi.def}}{}
-\@ifclassloaded{memoir}{\input{memoir-xetex-bidi.def}}{}
-\@ifclassloaded{refrep}{\input{refrep-xetex-bidi.def}}{}
-\@ifclassloaded{extreport}{\input{extreport-xetex-bidi.def}}{}
-\@ifclassloaded{report}{\@ifpackageloaded{flowfram}{}{\input{report-xetex-bidi.def}}}{}
-\@ifclassloaded{rapport1}{\input{rapport1-xetex-bidi.def}}{}
-\@ifclassloaded{rapport3}{\input{rapport3-xetex-bidi.def}}{}
-\@ifclassloaded{scrartcl}{\input{scrartcl-xetex-bidi.def}}{}
-\@ifclassloaded{scrbook}{\input{scrbook-xetex-bidi.def}}{}
-\@ifclassloaded{scrreprt}{\input{scrreprt-xetex-bidi.def}}{}
-\@ifclassloaded{amsbook}{\input{amsbook-xetex-bidi.def}}{}
-\@ifclassloaded{extbook}{\input{extbook-xetex-bidi.def}}{}
-\@ifclassloaded{boek}{\input{boek-xetex-bidi.def}}{}
-\@ifclassloaded{boek3}{\input{boek3-xetex-bidi.def}}{}
-\@ifclassloaded{book}{\@ifpackageloaded{flowfram}{}{\input{book-xetex-bidi.def}}}{}
-\@ifclassloaded{bookest}{\input{bookest-xetex-bidi.def}}{}
-\@ifclassloaded{combine}{\input{combine-xetex-bidi.def}}{}
-\@ifclassloaded{imsproc}{\input{imsproc-xetex-bidi.def}}{}
-\@ifpackageloaded{amsmath}{}{%
-\@iftagsloaded{leqno}{\input{leqno-xetex-bidi.def}}{}
-\@iftagsloaded{fleqn}{\input{fleqn-xetex-bidi.def}}{}
-}
-\@ifpackageloaded{mathtools}{%
- \RequirePackage{graphicx}%
- \input{mathtools-xetex-bidi.def}%
- }{}
-\@ifpackageloaded{crop}{\RequirePackage{graphicx}}{}
-\@ifpackageloaded{lscape}{\RequirePackage{graphicx}}{}
-\@ifpackageloaded{sidecap}{\RequirePackage{ragged2e}}{}
-\@ifpackageloaded{floatrow}{\RequirePackage{color}}{}
-\@ifpackageloaded{algorithm2e}{\input{algorithm2e-xetex-bidi.def}}{}
-\@ifpackagewith{algorithm2e}{algonl}{%
-\renewcommand{\theAlgoLine}{\expandafter\csname the\algocf@float\endcsname\@SepMark\arabic{AlgoLine}}%
-}{}
-\@ifpackagewith{algorithm2e}{algopart}{\renewcommand{\algocf@within}{part}}{}
-\@ifpackagewith{algorithm2e}{algochapter}{\renewcommand{\algocf@within}{chapter}}{}
-\@ifpackagewith{algorithm2e}{algosection}{\renewcommand{\algocf@within}{section}}{}
-\@ifpackageloaded{amsmath}{\input{amsmath-xetex-bidi.def}}{}
-\@ifpackageloaded{amstext}{\input{amstext-xetex-bidi.def}}{}
-\@ifpackageloaded{amsthm}{\input{amsthm-xetex-bidi.def}}{}
-\@ifpackageloaded{breqn}{\input{breqn-xetex-bidi.def}}{}
-\@ifpackageloaded{cals}{\input{cals-xetex-bidi.def}}{}
-\@ifpackageloaded{caption}{\input{caption-xetex-bidi.def}}{}
-\@ifpackageloaded{caption3}{\input{caption3-xetex-bidi.def}}{}
-\@ifpackageloaded{floatrow}{\input{floatrow-xetex-bidi.def}}{}
-\@ifpackageloaded{crop}{\@ifclassloaded{memoir}{}{\input{crop-xetex-bidi.def}}}{}
-\@ifpackageloaded{color}{\input{color-xetex-bidi.def}}{}
-\@ifpackageloaded{cutwin}{\input{cutwin-xetex-bidi.def}}{}
-\@ifpackageloaded{cuted}{\input{cuted-xetex-bidi.def}}{}
-\@ifpackageloaded{xcolor}{\input{xcolor-xetex-bidi.def}}{}
-\@ifpackageloaded{colortbl}{\input{colortbl-xetex-bidi.def}}{}
-\@ifpackageloaded{float}{\@ifpackageloaded{floatrow}{}{\input{float-xetex-bidi.def}}}{}
-\@ifpackageloaded{flowfram}{\input{flowfram-xetex-bidi.def}}{}
-\@ifpackageloaded{xltxtra}{\input{xltxtra-xetex-bidi.def}}{}
-\@ifpackageloaded{wrapfig}{\input{wrapfig-xetex-bidi.def}}{}
-\@ifpackageloaded{graphicx}{\input{graphicx-xetex-bidi.def}}{}
-\@ifpackageloaded{geometry}{\input{geometry-xetex-bidi.def}}{}
-\@ifpackageloaded{hvfloat}{\input{hvfloat-xetex-bidi.def}}{}
-\@ifpackageloaded{ntheorem}{\input{ntheorem-xetex-bidi.def}}{}
-\@ifpackageloaded{tabularx}{\input{tabularx-xetex-bidi.def}}{}
-\@ifpackageloaded{longtable}{\input{longtable-xetex-bidi.def}}{}
-\@ifpackageloaded{lscape}{\input{lscape-xetex-bidi.def}}{}
-\@ifpackageloaded{hyperref}{\input{hyperref-xetex-bidi.def}}{}
-\@ifpackageloaded{footnotebackref}{\input{footnotebackref-xetex-bidi.def}}{}
-\@ifpackageloaded{ntheorem-hyper}{\input{ntheorem-hyper-xetex-bidi.def}}{}
-\@ifpackageloaded{fancybox}{\input{fancybox-xetex-bidi.def}}{}
-\@ifpackageloaded{fancyhdr}{\input{fancyhdr-xetex-bidi.def}}{}
-\@ifpackageloaded{fix2col}{\input{fix2col-xetex-bidi.def}}{}
-\@ifpackageloaded{ftnright}{\input{ftnright-xetex-bidi.def}}{}
-\@ifpackageloaded{midfloat}{\input{midfloat-xetex-bidi.def}}{}
-\@ifpackageloaded{draftwatermark}{\input{draftwatermark-xetex-bidi.def}}{}
-\@ifpackageloaded{dblfnote}{\input{dblfnote-xetex-bidi.def}}{}
-\@ifpackageloaded{diagbox}{\input{diagbox-xetex-bidi.def}}{}
-\@ifpackageloaded{eso-pic}{\input{eso-pic-xetex-bidi.def}}{}
-\@ifpackageloaded{empheq}{\input{empheq-xetex-bidi.def}}{}
-\@ifpackageloaded{framed}{\input{framed-xetex-bidi.def}}{}
-\@ifpackageloaded{overpic}{\input{overpic-xetex-bidi.def}}{}
-\@ifpackageloaded{pdfbase}{\input{pdfbase-xetex-bidi.def}}{}
-\@ifpackageloaded{pdflscape}{\input{pdflscape-xetex-bidi.def}}{}
-\@ifpackageloaded{pdfpages}{\input{pdfpages-xetex-bidi.def}}{}
-\@ifpackageloaded{lettrine}{\input{lettrine-xetex-bidi.def}}{}
-\@ifpackageloaded{lineno}{\input{lineno-xetex-bidi.def}}{}
-\@ifpackageloaded{listings}{\input{listings-xetex-bidi.def}}{}
-\@ifpackageloaded{media9}{\RequirePackage{bidi-media9}}{}
-\@iftexfileloaded{pstricks}{\input{pstricks-xetex-bidi.def}}{}
-\@iftexfileloaded{pgfcorescopes.code}{\input{pgfcorescopes.code-xetex-bidi.def}}{}
-\@ifpackageloaded{titlesec}{\input{titlesec-xetex-bidi.def}}{}
-\@ifpackageloaded{titletoc}{\input{titletoc-xetex-bidi.def}}{}
-\@ifpackageloaded{array}{\input{array-xetex-bidi.def}}{}
-\@ifpackageloaded{sidecap}{\input{sidecap-xetex-bidi.def}}{}
-\@ifpackagewith{sidecap}{innercaption}{%
-\if@RTL \renewcommand*{\SC@FLOAT}[2]{%
- \isSC@ODD{{#2}\hspace{\sidecaptionsep}{#1}} {{#1}\hspace{\sidecaptionsep}{#2}}}
- \renewcommand*\SC@justify@caption{%
- \isSC@ODD{\RaggedRight}{\RaggedLeft}}\else
- \renewcommand*{\SC@FLOAT}[2]{%
- \isSC@ODD{{#1}\hspace{\sidecaptionsep}{#2}} {{#2}\hspace{\sidecaptionsep}{#1}}}
- \renewcommand*\SC@justify@caption{%
- \isSC@ODD{\RaggedLeft}{\RaggedRight}}\fi
-}{}
-\@ifpackagewith{sidecap}{rightcaption}{%
- \if@RTL\renewcommand*{\SC@FLOAT}[2]{{#1}\hspace{\sidecaptionsep}{#2}}
- \def\SC@justify@caption{\RaggedLeft}\else%
- \renewcommand*{\SC@FLOAT}[2]{{#2}\hspace{\sidecaptionsep}{#1}}
- \def\SC@justify@caption{\RaggedRight}\fi%
-}{}
-\@ifpackagewith{sidecap}{leftcaption}{%
-\if@RTL \renewcommand*{\SC@FLOAT}[2]{{#2}\hspace{\sidecaptionsep}{#1}}
- \def\SC@justify@caption{\RaggedRight}\else%
- \renewcommand*{\SC@FLOAT}[2]{{#1}\hspace{\sidecaptionsep}{#2}}
- \def\SC@justify@caption{\RaggedLeft}\fi%
-}{}
-\@ifpackageloaded{soul}{\input{soul-xetex-bidi.def}}{}
-\@ifpackageloaded{stabular}{\input{stabular-xetex-bidi.def}}{}
-\@ifpackageloaded{subfigure}{\input{subfigure-xetex-bidi.def}}{}
-\@ifpackageloaded{arydshln}{\input{arydshln-xetex-bidi.def}}{}
-\@ifpackageloaded{mdframed}{\input{mdframed-xetex-bidi.def}}{}
-\@ifpackageloaded{multicol}{\input{multicol-xetex-bidi.def}}{}
-\@ifpackageloaded{adjmulticol}{\input{adjmulticol-xetex-bidi.def}}{}
-\@ifpackageloaded{multienum}{\input{multienum-xetex-bidi.def}}{}
-\@ifpackageloaded{natbib}{\input{natbib-xetex-bidi.def}}{}
-\@ifpackageloaded{newfloat}{\input{newfloat-xetex-bidi.def}}{}
-\@ifpackageloaded{nicematrix}{\input{nicematrix-xetex-bidi.def}}{}
-\@ifpackageloaded{minitoc}{\input{minitoc-xetex-bidi.def}}{}
-\@ifpackageloaded{pgfsys}{\input{pgfsys.code-xetex-bidi.def}}{}
-\@ifpackageloaded{picinpar}{\input{picinpar-xetex-bidi.def}}{}
-\@ifpackageloaded{quotchap}{\input{quotchap-xetex-bidi.def}}{}
-\@ifpackageloaded{ragged2e}{\input{ragged2e-xetex-bidi.def}}{}
-\@ifpackageloaded{rotating}{\input{rotating-xetex-bidi.def}}{}
-\@ifpackageloaded{tabls}{\input{tabls-xetex-bidi.def}}{}
-\@ifpackageloaded{tabulary}{\input{tabulary-xetex-bidi.def}}{}
-\@ifpackageloaded{tcolorbox}{\input{tcolorbox-xetex-bidi.def}}{}
-\@ifpackageloaded{tocstyle}{\input{tocstyle-xetex-bidi.def}}{}
-\@ifpackageloaded{tocbibind}{\@ifclassloaded{memoir}{}{\input{tocbibind-xetex-bidi.def}}}{}
-\@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-xetex-bidi.def}}}{}
-\@ifdefinitionfileloaded{tc-xetex}{\input{tc-xetex-bidi.def}}{}
-\@ifpackageloaded{todonotes}{\input{todonotes-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaseauxtemplates}{\input{beamerbaseauxtemplates-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaseboxes}{\input{beamerbaseboxes-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbasecolor}{\input{beamerbasecolor-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbasecompatibility}{\input{beamerbasecompatibility-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaseframecomponents}{\input{beamerbaseframecomponents-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaseframesize}{\input{beamerbaseframesize-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaselocalstructure}{\input{beamerbaselocalstructure-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbasemisc}{\input{beamerbasemisc-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbasenavigation}{\input{beamerbasenavigation-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerbaseoverlay}{\input{beamerbaseoverlay-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemedefault}{\input{beamerinnerthemedefault-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemecircles}{\input{beamerinnerthemecircles-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemefocus}{\input{beamerinnerthemefocus-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemeinmargin}{\input{beamerinnerthemeinmargin-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthememetropolis}{\input{beamerinnerthememetropolis-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemerectangles}{\input{beamerinnerthemerectangles-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerinnerthemerounded}{\input{beamerinnerthemerounded-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemedefault}{\input{beamerouterthemedefault-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemefocus}{\input{beamerouterthemefocus-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemeinfolines}{\input{beamerouterthemeinfolines-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthememetropolis}{\input{beamerouterthememetropolis-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthememiniframes}{\input{beamerouterthememiniframes-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemesidebar}{\input{beamerouterthemesidebar-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemesplit}{\input{beamerouterthemesplit-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemeshadow}{\input{beamerouterthemeshadow-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemesmoothbars}{\input{beamerouterthemesmoothbars-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemesmoothtree}{\input{beamerouterthemesmoothtree-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerouterthemetree}{\input{beamerouterthemetree-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerthemeHannover}{\input{beamerthemeHannover-xetex-bidi.def}}{}
-\@ifpackageloaded{beamerthemeSingapore}{\input{beamerthemeSingapore-xetex-bidi.def}}{}
+
+\ApplyPatchToClassesIfPackageLoadedF{%
+ book, %
+ report %
+}{flowfram}
+
+\ApplyPatchToPackageIfPackageLoadedF{float}{floatrow}
+
+\ApplyPatchToFilesIfPackageLoadedF{amsmath}{%
+ fleqn, %
+ leqno%
+}[clo]
+
+\ApplyPatchToClasses{%
+ amsart, %
+ amsbook, %
+ article, %
+ artikel1, %
+ artikel2, %
+ artikel3, %
+ beamer, %
+ boek, %
+ boek3, %
+ bookest, %
+ combine, %
+ extbook, %
+ extletter, %
+ extarticle, %
+ extreport, %
+ imsproc, %
+ letter, %
+ memoir, %
+ rapport1, %
+ rapport3, %
+ refrep, %
+ scrartcl, %
+ scrbook, %
+ scrreprt %
+}
+
+\ApplyPatchToPackages{%
+ adjmulticol, %
+ algorithm2e, %
+ amsmath, %
+ amstext, %
+ amsthm, %
+ arydshln, %
+ array, %
+ beamerbaseauxtemplates, %
+ beamerbaseboxes, %
+ beamerbasecolor, %
+ beamerbasecompatibility, %
+ beamerbaseframecomponents, %
+ beamerbaseframesize, %
+ beamerbaselocalstructure, %
+ beamerbasemisc, %
+ beamerbasenavigation, %
+ beamerbaseoverlay, %
+ beamerinnerthemecircles, %
+ beamerinnerthemedefault, %
+ beamerinnerthemefocus, %
+ beamerinnerthemeinmargin, %
+ beamerinnerthememetropolis, %
+ beamerinnerthemerectangles, %
+ beamerinnerthemerounded, %
+ beamerouterthemedefault, %
+ beamerouterthemefocus, %
+ beamerouterthemeinfolines, %
+ beamerouterthememetropolis, %
+ beamerouterthememiniframes, %
+ beamerouterthemesidebar, %
+ beamerouterthemesplit, %
+ beamerouterthemeshadow, %
+ beamerouterthemesmoothbars, %
+ beamerouterthemesmoothtree, %
+ beamerouterthemetree, %
+ beamerthemeHannover, %
+ beamerthemeSingapore, %
+ breqn, %
+ cals, %
+ caption, %
+ caption3, %
+ color, %
+ colortbl, %
+ crop, %
+ cuted, %
+ cutwin, %
+ dblfnote, %
+ diagbox, %
+ draftwatermark, %
+ eso-pic, %
+ empheq, %
+ fancybox, %
+ fancyhdr, %
+ fix2col, %
+ float, %
+ floatrow, %
+ flowfram, %
+ footnotebackref, %
+ framed, %
+ ftnright, %
+ geometry, %
+ graphicx, %
+ hvfloat, %
+ hyperref, %
+ lettrine, %
+ lineno, %
+ listings, %
+ longtable, %
+ lscape, %
+ mathtools, %
+ mdframed, %
+ media9, %
+ midfloat, %
+ minitoc, %
+ multicol, %
+ multienum, %
+ natbib, %
+ newfloat, %
+ nicematrix, %
+ ntheorem, %
+ ntheorem-hyper, %
+ overpic, %
+ pdfbase, %
+ pdflscape, %
+ pdfpages, %
+ pgfsys, %
+ picinpar, %
+ quotchap, %
+ ragged2e, %
+ rotating, %
+ sidecap, %
+ soul, %
+ stabular, %
+ subfigure, %
+ tabls, %
+ tabularx, %
+ tabulary, %
+ tcolorbox, %
+ titlesec, %
+ titletoc, %
+ tocbasic, %
+ tocbibind, %
+ tocloft, %
+ tocstyle, %
+ todonotes, %
+ wrapfig, %
+ xcolor, %
+ xltxtra %
+}
+
+\ApplyPatchToFiles{%
+ pgfcorescopes.code, %
+ pstricks %
+}[tex]
+
+\ApplyPatchToFile{tc-xetex}
% \end{macrocode}
% \iffalse
%</latex-xetex-bidi.def>