diff options
Diffstat (limited to 'Master/texmf-dist/source/xelatex/bidi/bidi.dtx')
-rw-r--r-- | Master/texmf-dist/source/xelatex/bidi/bidi.dtx | 1669 |
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> |