diff options
Diffstat (limited to 'macros/xetex/latex/bidi/bidi.dtx')
-rw-r--r-- | macros/xetex/latex/bidi/bidi.dtx | 25614 |
1 files changed, 25614 insertions, 0 deletions
diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx new file mode 100644 index 0000000000..586c0b999e --- /dev/null +++ b/macros/xetex/latex/bidi/bidi.dtx @@ -0,0 +1,25614 @@ +% \iffalse +%<*internal> +\iffalse +%</internal> +%<*readme> +___________________ +The bidi package +v35.9 + +This package provides a convenient interface for typesetting +bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. + +If you want to report any bugs or typos and corrections in the +documentation, or ask for any new features, or suggest any +improvements, or ask any questions about the package, then +please use the issue tracker: + + <https://github.com/vafa-ac/bidi/issues> + +In doing so, please always explain your issue well enough, +and always include a minimal working example showing the +issue. + +Current version release date: 2019/06/14 + +___________________ +Vafa Khalighi + +Copyright (c) 2007--2019 +It may be distributed and/or modified under the LaTeX Project Public License, +version 1.3c or higher (your choice). The latest version of +this license is at: http://www.latex-project.org/lppl.txt + +This work is “author-maintained” (as per LPPL maintenance status) +by Vafa Khalighi. +%</readme> +%<*internal> +\fi +\begingroup +%</internal> +%<*batchfile> +\input docstrip.tex +\keepsilent +\preamble + + __________________________________________________ + Copyright (c) 2009--2019 Vafa Khalighi + + It may be distributed and/or modified under the LaTeX Project Public License, + version 1.3c or higher (your choice). The latest version of + this license is at: http://www.latex-project.org/lppl.txt + + This work is “author-maintained” (as per LPPL maintenance status) + by Vafa Khalighi. + + +\endpreamble +\askforoverwritefalse +\generate{\file{adjmulticol-xetex-bidi.def}{\from{\jobname.dtx}{table,adjmulticol-xetex-bidi.def}}} +\generate{\file{algorithm2e-xetex-bidi.def}{\from{\jobname.dtx}{table,algorithm2e-xetex-bidi.def}}} +\generate{\file{amsart-xetex-bidi.def}{\from{\jobname.dtx}{table,amsart-xetex-bidi.def}}} +\generate{\file{amsbook-xetex-bidi.def}{\from{\jobname.dtx}{table,amsbook-xetex-bidi.def}}} +\generate{\file{amsmath-xetex-bidi.def}{\from{\jobname.dtx}{table,amsmath-xetex-bidi.def}}} +\generate{\file{amstext-xetex-bidi.def}{\from{\jobname.dtx}{table,amstext-xetex-bidi.def}}} +\generate{\file{amsthm-xetex-bidi.def}{\from{\jobname.dtx}{table,amsthm-xetex-bidi.def}}} +\generate{\file{array-xetex-bidi.def}{\from{\jobname.dtx}{table,array-xetex-bidi.def}}} +\generate{\file{article-xetex-bidi.def}{\from{\jobname.dtx}{table,article-xetex-bidi.def}}} +\generate{\file{artikel1-xetex-bidi.def}{\from{\jobname.dtx}{table,artikel1-xetex-bidi.def}}} +\generate{\file{artikel2-xetex-bidi.def}{\from{\jobname.dtx}{table,artikel2-xetex-bidi.def}}} +\generate{\file{artikel3-xetex-bidi.def}{\from{\jobname.dtx}{table,artikel3-xetex-bidi.def}}} +\generate{\file{arydshln-xetex-bidi.def}{\from{\jobname.dtx}{table,arydshln-xetex-bidi.def}}} +\generate{\file{bidi.sty}{\from{\jobname.dtx}{table,bidi.sty}}} +\generate{\file{bidi.tex}{\from{\jobname.dtx}{table,bidi.tex}}} +\generate{\file{bidi2in1.sty}{\from{\jobname.dtx}{table,bidi2in1.sty}}} +\generate{\file{bidicode.sty}{\from{\jobname.dtx}{table,bidicode.sty}}} +\generate{\file{bidiftnxtra.sty}{\from{\jobname.dtx}{table,bidiftnxtra.sty}}} +\generate{\file{bidimoderncv.cls}{\from{\jobname.dtx}{table,bidimoderncv.cls}}} +\generate{\file{bidi-perpage.sty}{\from{\jobname.dtx}{table,bidi-perpage.sty}}} +\generate{\file{biditools.sty}{\from{\jobname.dtx}{table,biditools.sty}}} +\generate{\file{bidituftefloat.sty}{\from{\jobname.dtx}{table,bidituftefloat.sty}}} +\generate{\file{bidituftesidenote.sty}{\from{\jobname.dtx}{table,bidituftesidenote.sty}}} +\generate{\file{bidituftetoc.sty}{\from{\jobname.dtx}{table,bidituftetoc.sty}}} +\generate{\file{bidituftegeneralstructure.sty}{\from{\jobname.dtx}{table,bidituftegeneralstructure.sty}}} +\generate{\file{bidituftehyperref.sty}{\from{\jobname.dtx}{table,bidituftehyperref.sty}}} +\generate{\file{bidituftetitle.sty}{\from{\jobname.dtx}{table,bidituftetitle.sty}}} +\generate{\file{biditufte-handout.cls}{\from{\jobname.dtx}{table,biditufte-handout.cls}}} +\generate{\file{biditufte-book.cls}{\from{\jobname.dtx}{table,biditufte-book.cls}}} +\generate{\file{bidipoem.sty}{\from{\jobname.dtx}{table,bidipoem.sty}}} +\generate{\file{boek3-xetex-bidi.def}{\from{\jobname.dtx}{table,boek3-xetex-bidi.def}}} +\generate{\file{boek-xetex-bidi.def}{\from{\jobname.dtx}{table,boek-xetex-bidi.def}}} +\generate{\file{bookest-xetex-bidi.def}{\from{\jobname.dtx}{table,bookest-xetex-bidi.def}}} +\generate{\file{book-xetex-bidi.def}{\from{\jobname.dtx}{table,book-xetex-bidi.def}}} +\generate{\file{breqn-xetex-bidi.def}{\from{\jobname.dtx}{table,breqn-xetex-bidi.def}}} +\generate{\file{cals-xetex-bidi.def}{\from{\jobname.dtx}{table,cals-xetex-bidi.def}}} +\generate{\file{caption-xetex-bidi.def}{\from{\jobname.dtx}{table,caption-xetex-bidi.def}}} +\generate{\file{caption3-xetex-bidi.def}{\from{\jobname.dtx}{table,caption3-xetex-bidi.def}}} +\generate{\file{colortbl-xetex-bidi.def}{\from{\jobname.dtx}{table,colortbl-xetex-bidi.def}}} +\generate{\file{color-xetex-bidi.def}{\from{\jobname.dtx}{table,color-xetex-bidi.def}}} +\generate{\file{combine-xetex-bidi.def}{\from{\jobname.dtx}{table,combine-xetex-bidi.def}}} +\generate{\file{crop-xetex-bidi.def}{\from{\jobname.dtx}{table,crop-xetex-bidi.def}}} +\generate{\file{cutwin-xetex-bidi.def}{\from{\jobname.dtx}{table,cutwin-xetex-bidi.def}}} +\generate{\file{cuted-xetex-bidi.def}{\from{\jobname.dtx}{table,cuted-xetex-bidi.def}}} +\generate{\file{cvthemebidicasual.sty}{\from{\jobname.dtx}{table,cvthemebidicasual.sty}}} +\generate{\file{cvthemebidiclassic.sty}{\from{\jobname.dtx}{table,cvthemebidiclassic.sty}}} +\generate{\file{dblfnote-xetex-bidi.def}{\from{\jobname.dtx}{table,dblfnote-xetex-bidi.def}}} +\generate{\file{diagbox-xetex-bidi.def}{\from{\jobname.dtx}{table,diagbox-xetex-bidi.def}}} +\generate{\file{draftwatermark-xetex-bidi.def}{\from{\jobname.dtx}{table,draftwatermark-xetex-bidi.def}}} +\generate{\file{eso-pic-xetex-bidi.def}{\from{\jobname.dtx}{table,eso-pic-xetex-bidi.def}}} +\generate{\file{empheq-xetex-bidi.def}{\from{\jobname.dtx}{table,empheq-xetex-bidi.def}}} +\generate{\file{extarticle-xetex-bidi.def}{\from{\jobname.dtx}{table,extarticle-xetex-bidi.def}}} +\generate{\file{extbook-xetex-bidi.def}{\from{\jobname.dtx}{table,extbook-xetex-bidi.def}}} +\generate{\file{extletter-xetex-bidi.def}{\from{\jobname.dtx}{table,extletter-xetex-bidi.def}}} +\generate{\file{extrafootnotefeatures-xetex-bidi.def}{\from{\jobname.dtx}{table,extrafootnotefeatures-xetex-bidi.def}}} +\generate{\file{extreport-xetex-bidi.def}{\from{\jobname.dtx}{table,extreport-xetex-bidi.def}}} +\generate{\file{fancybox-xetex-bidi.def}{\from{\jobname.dtx}{table,fancybox-xetex-bidi.def}}} +\generate{\file{fancyhdr-xetex-bidi.def}{\from{\jobname.dtx}{table,fancyhdr-xetex-bidi.def}}} +\generate{\file{fix2col-xetex-bidi.def}{\from{\jobname.dtx}{table,fix2col-xetex-bidi.def}}} +\generate{\file{fleqn-xetex-bidi.def}{\from{\jobname.dtx}{table,fleqn-xetex-bidi.def}}} +\generate{\file{float-xetex-bidi.def}{\from{\jobname.dtx}{table,float-xetex-bidi.def}}} +\generate{\file{floatrow-xetex-bidi.def}{\from{\jobname.dtx}{table,floatrow-xetex-bidi.def}}} +\generate{\file{flowfram-xetex-bidi.def}{\from{\jobname.dtx}{table,flowfram-xetex-bidi.def}}} +\generate{\file{footnote-xetex-bidi.def}{\from{\jobname.dtx}{table,footnote-xetex-bidi.def}}} +\generate{\file{framed-xetex-bidi.def}{\from{\jobname.dtx}{table,framed-xetex-bidi.def}}} +\generate{\file{ftnright-xetex-bidi.def}{\from{\jobname.dtx}{table,ftnright-xetex-bidi.def}}} +\generate{\file{graphicx-xetex-bidi.def}{\from{\jobname.dtx}{table,graphicx-xetex-bidi.def}}} +\generate{\file{geometry-xetex-bidi.def}{\from{\jobname.dtx}{table,geometry-xetex-bidi.def}}} +\generate{\file{hvfloat-xetex-bidi.def}{\from{\jobname.dtx}{table,hvfloat-xetex-bidi.def}}} +\generate{\file{hyperref-xetex-bidi.def}{\from{\jobname.dtx}{table,hyperref-xetex-bidi.def}}} +\generate{\file{imsproc-xetex-bidi.def}{\from{\jobname.dtx}{table,imsproc-xetex-bidi.def}}} +\generate{\file{leqno-xetex-bidi.def}{\from{\jobname.dtx}{table,leqno-xetex-bidi.def}}} +\generate{\file{letter-xetex-bidi.def}{\from{\jobname.dtx}{table,letter-xetex-bidi.def}}} +\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{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{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}}} +\generate{\file{minitoc-xetex-bidi.def}{\from{\jobname.dtx}{table,minitoc-xetex-bidi.def}}} +\generate{\file{multicol-xetex-bidi.def}{\from{\jobname.dtx}{table,multicol-xetex-bidi.def}}} +\generate{\file{multienum-xetex-bidi.def}{\from{\jobname.dtx}{table,multienum-xetex-bidi.def}}} +\generate{\file{natbib-xetex-bidi.def}{\from{\jobname.dtx}{table,natbib-xetex-bidi.def}}} +\generate{\file{newfloat-xetex-bidi.def}{\from{\jobname.dtx}{table,newfloat-xetex-bidi.def}}} +\generate{\file{ntheorem-xetex-bidi.def}{\from{\jobname.dtx}{table,ntheorem-xetex-bidi.def}}} +\generate{\file{ntheorem-hyper-xetex-bidi.def}{\from{\jobname.dtx}{table,ntheorem-hyper-xetex-bidi.def}}} +\generate{\file{overpic-xetex-bidi.def}{\from{\jobname.dtx}{table,overpic-xetex-bidi.def}}} +\generate{\file{pdfbase-xetex-bidi.def}{\from{\jobname.dtx}{table,pdfbase-xetex-bidi.def}}} +\generate{\file{pdfpages-xetex-bidi.def}{\from{\jobname.dtx}{table,pdfpages-xetex-bidi.def}}} +\generate{\file{pgfcorescopes.code-xetex-bidi.def}{\from{\jobname.dtx}{table,pgfcorescopes.code-xetex-bidi.def}}} +\generate{\file{picinpar-xetex-bidi.def}{\from{\jobname.dtx}{table,picinpar-xetex-bidi.def}}} +\generate{\file{plain-xetex-bidi.def}{\from{\jobname.dtx}{table,plain-xetex-bidi.def}}} +\generate{\file{pstricks-xetex-bidi.def}{\from{\jobname.dtx}{table,pstricks-xetex-bidi.def}}} +\generate{\file{quotchap-xetex-bidi.def}{\from{\jobname.dtx}{table,quotchap-xetex-bidi.def}}} +\generate{\file{ragged2e-xetex-bidi.def}{\from{\jobname.dtx}{table,ragged2e-xetex-bidi.def}}} +\generate{\file{rapport1-xetex-bidi.def}{\from{\jobname.dtx}{table,rapport1-xetex-bidi.def}}} +\generate{\file{rapport3-xetex-bidi.def}{\from{\jobname.dtx}{table,rapport3-xetex-bidi.def}}} +\generate{\file{refrep-xetex-bidi.def}{\from{\jobname.dtx}{table,refrep-xetex-bidi.def}}} +\generate{\file{report-xetex-bidi.def}{\from{\jobname.dtx}{table,report-xetex-bidi.def}}} +\generate{\file{rotating-xetex-bidi.def}{\from{\jobname.dtx}{table,rotating-xetex-bidi.def}}} +\generate{\file{scrartcl-xetex-bidi.def}{\from{\jobname.dtx}{table,scrartcl-xetex-bidi.def}}} +\generate{\file{scrbook-xetex-bidi.def}{\from{\jobname.dtx}{table,scrbook-xetex-bidi.def}}} +\generate{\file{scrlettr-xetex-bidi.def}{\from{\jobname.dtx}{table,scrlettr-xetex-bidi.def}}} +\generate{\file{scrreprt-xetex-bidi.def}{\from{\jobname.dtx}{table,scrreprt-xetex-bidi.def}}} +\generate{\file{sidecap-xetex-bidi.def}{\from{\jobname.dtx}{table,sidecap-xetex-bidi.def}}} +\generate{\file{soul-xetex-bidi.def}{\from{\jobname.dtx}{table,soul-xetex-bidi.def}}} +\generate{\file{stabular-xetex-bidi.def}{\from{\jobname.dtx}{table,stabular-xetex-bidi.def}}} +\generate{\file{subfigure-xetex-bidi.def}{\from{\jobname.dtx}{table,subfigure-xetex-bidi.def}}} +\generate{\file{tabls-xetex-bidi.def}{\from{\jobname.dtx}{table,tabls-xetex-bidi.def}}} +\generate{\file{tabularx-xetex-bidi.def}{\from{\jobname.dtx}{table,tabularx-xetex-bidi.def}}} +\generate{\file{tabulary-xetex-bidi.def}{\from{\jobname.dtx}{table,tabulary-xetex-bidi.def}}} +\generate{\file{tc-xetex-bidi.def}{\from{\jobname.dtx}{table,tc-xetex-bidi.def}}} +\generate{\file{tcolorbox-xetex-bidi.def}{\from{\jobname.dtx}{table,tcolorbox-xetex-bidi.def}}} +\generate{\file{titlesec-xetex-bidi.def}{\from{\jobname.dtx}{table,titlesec-xetex-bidi.def}}} +\generate{\file{titletoc-xetex-bidi.def}{\from{\jobname.dtx}{table,titletoc-xetex-bidi.def}}} +\generate{\file{tocbibind-xetex-bidi.def}{\from{\jobname.dtx}{table,tocbibind-xetex-bidi.def}}} +\generate{\file{tocloft-xetex-bidi.def}{\from{\jobname.dtx}{table,tocloft-xetex-bidi.def}}} +\generate{\file{tocbasic-xetex-bidi.def}{\from{\jobname.dtx}{table,tocbasic-xetex-bidi.def}}} +\generate{\file{tocstyle-xetex-bidi.def}{\from{\jobname.dtx}{table,tocstyle-xetex-bidi.def}}} +\generate{\file{todonotes-xetex-bidi.def}{\from{\jobname.dtx}{table,todonotes-xetex-bidi.def}}} +\generate{\file{wrapfig-xetex-bidi.def}{\from{\jobname.dtx}{table,wrapfig-xetex-bidi.def}}} +\generate{\file{xcolor-xetex-bidi.def}{\from{\jobname.dtx}{table,xcolor-xetex-bidi.def}}} +\generate{\file{latex-xetex-bidi.def}{\from{\jobname.dtx}{table,latex-xetex-bidi.def}}} +\generate{\file{xltxtra-xetex-bidi.def}{\from{\jobname.dtx}{table,xltxtra-xetex-bidi.def}}} +%</batchfile> +%<batchfile>\endbatchfile +%<*internal> +\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}} +\nopreamble\nopostamble +\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}} +\generate{\file{bidi-logo.tex}{\from{\jobname.dtx}{bidi-logo.tex}}} +\generate{\file{bidisample2e.tex}{\from{\jobname.dtx}{bidisample2e.tex}}} +\generate{\file{bidismall2e.tex}{\from{\jobname.dtx}{bidismall2e.tex}}} +\generate{\file{test1-colortbl.tex}{\from{\jobname.dtx}{test1-colortbl.tex}}} +\generate{\file{test1-wrapfig.tex}{\from{\jobname.dtx}{test1-wrapfig.tex}}} +\generate{\file{test2-colortbl.tex}{\from{\jobname.dtx}{test2-colortbl.tex}}} +\generate{\file{test2-wrapfig.tex}{\from{\jobname.dtx}{test2-wrapfig.tex}}} +\generate{\file{test3-wrapfig.tex}{\from{\jobname.dtx}{test3-wrapfig.tex}}} +\generate{\file{test-arydshln.tex}{\from{\jobname.dtx}{test-arydshln.tex}}} +\generate{\file{test-bidi.tex}{\from{\jobname.dtx}{test-bidi.tex}}} +\generate{\file{test-brochure.tex}{\from{\jobname.dtx}{test-brochure.tex}}} +\generate{\file{test-casualcv.tex}{\from{\jobname.dtx}{test-casualcv.tex}}} +\generate{\file{test-classiccv.tex}{\from{\jobname.dtx}{test-classiccv.tex}}} +\generate{\file{test-color.tex}{\from{\jobname.dtx}{test-color.tex}}} +\generate{\file{test-supertabular.tex}{\from{\jobname.dtx}{test-supertabular.tex}}} +\generate{\file{test-tabular.tex}{\from{\jobname.dtx}{test-tabular.tex}}} +\generate{\file{test-tabularx.tex}{\from{\jobname.dtx}{test-tabularx.tex}}} +\generate{\file{test-tabulary.tex}{\from{\jobname.dtx}{test-tabulary.tex}}} +\endgroup +\immediate\write18{mv README.txt README} +\immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx} +\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo} +%</internal> +% +%<*driver> +\documentclass{ltxdoc} +\input{bidi-doc-preamble.ltx} +\hypersetup{% + pdftitle={Source documentation for version 35.9 of the bidi + package}% +} +\EnableCrossrefs +\CodelineIndex +%\RecordChanges +\begin{document} + \DocInput{\jobname.dtx} + \PrintIndex +% \PrintChanges +\end{document} +%</driver> +% +% +% \fi +% +% \GetFileInfo{\jobname.dtx} +% \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ +%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] +%\large Source documentation for \textcolor{blue!65!black}{version 35.9}} +% \author{Vafa Khalighi} +%\setcounter{page}{0} +%\thispagestyle{empty} +%\includegraphics[width=.3\textwidth]{bidi-logo}\qquad +%\parindent 0pt +%\vbox{\Huge +%\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} +% +%\Large +%Source documentation for \textcolor{blue!65!black}{version 35.9}} +% +%\vskip 0pt plus 3fill +%\textit{\large to my Master, \textbf{Ferdowsi The Great}} +% +%\vskip 0pt plus 3fill +%{\color{red!85!black}\fbox{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule} +%If you want to report any bugs or typos and corrections in the documentation, +%or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker: +% +%\medskip +% \centerline{\url{https://github.com/vafa-ac/bidi/issues}} +% +%\medskip +%In doing so, please always explain your issue well enough, and always include +%a minimal working example showing the issue. +%\end{minipage} +%}} +% +%\vskip 0pt plus 3fill +% +%Copyright (c) 2007--2019 Vafa Khalighi +% +%\medskip +%Permission is granted to distribute and/or modify \emph{both the documentation and the code} under the conditions of the \LaTeX{} Project Public License, either version 1.3c of this license or (at your option) any later version. +% +%\clearpage +%\maketitle +% \tableofcontents +%\clearpage +% \StopEventually{} +% \section{File \texttt{amsart-xetex-bidi.def}} +%\iffalse +%<*table> +%\fi +%% \CheckSum{50082} +%% \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +% \iffalse +%</table> +%<*amsart-xetex-bidi.def> +%\fi +% +% +% +% \begin{macrocode} +\ProvidesFile{amsart-xetex-bidi.def}[2017/08/09 v1.1 bidi adaptations for amsart class for XeTeX engine] +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \if@RTL\rightskip\else\leftskip\fi#3\relax \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima\relax + \if@RTL\leftskip\else\rightskip\fi\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\renewcommand\thesubsection {\thesection\@SepMark\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection \@SepMark\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection\@SepMark\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph\@SepMark\arabic{subparagraph}} +\def\part{\@startsection{part}{0}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\if@RTL\raggedleft\else\raggedright\fi}} +\def\right@footnoterule{% + \kern-.4\p@ + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-5pc\relax \hrulefill } + \kern11\p@\kern-\footnotesep} +\def\left@footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} + + +\long\def\@footnotetext#1{% + \insert\footins{% + \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \reset@font% + \bidi@@footnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + +\long\def\@RTLfootnotetext#1{% + \insert\footins{% + \@RTLtrue% + \reset@font% + \bidi@@RTLfootnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + + + +\long\def\@LTRfootnotetext#1{% + \insert\footins{% + \@RTLfalse% + \reset@font% + \bidi@@LTRfootnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + + +\footdir@temp\footdir@ORG@bidi@amsart@footnotetext\@footnotetext{\bidi@footdir@footnote}% +\footdir@temp\footdir@ORG@bidi@amsart@RTLfootnotetext\@RTLfootnotetext{R}% +\footdir@temp\footdir@ORG@bidi@amsart@LTRfootnotetext\@LTRfootnotetext{L}% + +\renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \if@RTL\raggedleft\else\raggedright\fi + \hyphenpenalty\@M + \footnotesize} +\def\@idxitem{\par\hangindent \if@RTL-\fi2em} +\def\subitem{\par\hangindent \if@RTL-\fi2em\hspace*{1em}} +\def\subsubitem{\par\hangindent \if@RTL-\fi3em\hspace*{2em}} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \uppercasenonmath\shorttitle + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +% \end{macrocode} +% +%\iffalse +%</amsart-xetex-bidi.def> +%<*adjmulticol-xetex-bidi.def> +%\fi +% \section{File \texttt{adjmulticol-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{adjmulticol-xetex-bidi.def}[2015/04/25 v0.1 bidi adaptations for adjmulticol package for XeTeX engine] +\def\adjmulticols#1#2#3{\col@number#1\relax + \def\@tempa{#2}% + \ifx\@tempa\@empty\adjmc@inner\z@\else\adjmc@inner#2\fi + \def\@tempa{#3}% + \ifx\@tempa\@empty\adjmc@outer\z@\else\adjmc@outer#3\fi + \ifnum\col@number<\@ne + \PackageWarning{adjmulticol}% + {Using `\number\col@number' + columns doesn't seem a good idea.^^J + I therefore use one columns instead}% + \col@number\@ne\fi + \ifnum\col@number>10 + \PackageError{adjmulticol}% + {Too many columns}% + {Current implementation doesn't + support more than 10 columns.% + \MessageBreak + I therefore use 10 columns instead}% + \col@number10 \fi + \ifx\@footnotetext\mult@footnotetext\else + \let\orig@footnotetext\@footnotetext + \let\@footnotetext\mult@footnotetext + \fi + \ifx\@LTRfootnotetext\mult@LTRfootnotetext\else + \let\orig@LTRfootnotetext\@LTRfootnotetext + \let\@LTRfootnotetext\mult@LTRfootnotetext + \fi + \ifx\@RTLfootnotetext\mult@RTLfootnotetext\else + \let\orig@RTLfootnotetext\@RTLfootnotetext + \let\@RTLfootnotetext\mult@RTLfootnotetext + \fi + \@ifnextchar[\adjmult@cols{\adjmult@cols[]}} +\let\adjmc@page@sofar@orig=\page@sofar +% \end{macrocode} +% +%\iffalse +%</adjmulticol-xetex-bidi.def> +%<*algorithm2e-xetex-bidi.def> +%\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] +\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}{}{% + \bidi@patchcmd{\@algocf@start}{\bgroup}{% + \bgroup + \if@RTL + \beginR + \else + \beginL + \fi + }{}{} + \bidi@patchcmd{\@algocf@finish}{\egroup\end{lrbox}}{% + \if@RTL + \endR + \else + \endL + \fi + \egroup + \end{lrbox}% + }{}{} + \bidi@patchcmd{\algocf@makecaption}{\hbox}{% + \if@RTL + \hboxR + \else + \hboxL + \fi + }{}{} +} +% \end{macrocode} +% +%\iffalse +%</algorithm2e-xetex-bidi.def> +%<*amsbook-xetex-bidi.def> +%\fi +% \section{File \texttt{amsbook-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{amsbook-xetex-bidi.def}[2017/08/09 v1.2 bidi adaptations for amsbook class for XeTeX engine] +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \if@RTL\rightskip\else\leftskip\fi#3\relax \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima\relax + \if@RTL\leftskip\else\rightskip\fi\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\renewcommand\thesubsection {\thesection\@SepMark\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection \@SepMark\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection\@SepMark\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph\@SepMark\arabic{subparagraph}} +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \if@RTL\raggedleft\else\raggedright\fi + \hyphenpenalty\@M + \footnotesize} +\def\@idxitem{\par\hangindent \if@RTL-\fi2em} +\def\subitem{\par\hangindent \if@RTL-\fi2em\hspace*{1em}} +\def\subsubitem{\par\hangindent \if@RTL-\fi3em\hspace*{2em}} +\def\right@footnoterule{% + \kern-.4\p@ + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-5pc\relax \hrulefill } + \kern11\p@\kern-\footnotesep} +\def\left@footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} + +\long\def\@footnotetext#1{% + \insert\footins{% + \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \reset@font% + \bidi@@footnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + +\long\def\@RTLfootnotetext#1{% + \insert\footins{% + \@RTLtrue% + \reset@font% + \bidi@@RTLfootnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + + +\long\def\@LTRfootnotetext#1{% + \insert\footins{% + \@RTLfalse% + \reset@font% + \bidi@@LTRfootnotetext@font% \normalfont\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep \splitmaxdepth \dp\strutbox + \floatingpenalty\@MM \hsize\columnwidth + \@parboxrestore \parindent\normalparindent \sloppy + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}} + + + +\footdir@temp\footdir@ORG@bidi@amsbook@footnotetext\@footnotetext{\bidi@footdir@footnote}% +\footdir@temp\footdir@ORG@bidi@amsbook@RTLfootnotetext\@RTLfootnotetext{R}% +\footdir@temp\footdir@ORG@bidi@amsbook@LTRfootnotetext\@LTRfootnotetext{L}% + +\renewenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} +\def\@makechapterhead#1{\global\topskip 7.5pc\relax + \begingroup + \fontsize{\@xivpt}{18}\bfseries\centering + \ifnum\c@secnumdepth>\m@ne + \leavevmode \hskip-\if@RTL\rightskip\else\leftskip\fi + \rlap{\vbox to\z@{\vss + \centerline{\normalsize\mdseries + \uppercase\@xp{\chaptername}\enspace\thechapter} + \vskip 3pc}}\hskip\if@RTL\rightskip\else\leftskip\fi\fi + #1\par \endgroup + \skip@34\p@ \advance\skip@-\normalbaselineskip + \vskip\skip@ } +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \begingroup + \@maketitle + \endgroup + \c@footnote\z@ + \def\do##1{\let##1\relax}% + \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title + \do\author \do\@xauthor \do\address \do\@xaddress + \do\email \do\@xemail \do\curraddr \do\@xcurraddr + \do\dedicatory \do\@dedicatory \do\thanks \do\thankses + \do\keywords \do\@keywords \do\subjclass \do\@subjclass +} +% \end{macrocode} +% \iffalse +%</amsbook-xetex-bidi.def> +%<*amsmath-xetex-bidi.def> +%\fi +% \section{File \texttt{amsmath-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{amsmath-xetex-bidi.def}[2018/01/08 v1.1 bidi adaptations for amsmath package for XeTeX engine] +\let\veqno=\eqno +\iftagsleft@ \let\veqno=\leqno \fi +\renewcommand{\numberwithin}[3][\arabic]{% + \@ifundefined{c@#2}{\@nocounterr{#2}}{% + \@ifundefined{c@#3}{\@nocnterr{#3}}{% + \@addtoreset{#2}{#3}% + \@xp\xdef\csname the#2\endcsname{% + \@xp\@nx\csname the#3\endcsname \@nx\@SepMark\@nx#1{#2}}}}% +} +\def\tagform@#1{\maketag@@@{\if@nonlatin\beginR\fi(\kern\z@\ignorespaces#1\unskip\@@italiccorr)\if@nonlatin\endR\fi}} +% \end{macrocode} +% \iffalse +%</amsmath-xetex-bidi.def> +%<*amstext-xetex-bidi.def> +%\fi +% \section{File \texttt{amstext-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{amstext-xetex-bidi.def}[2016/09/12 v0.2 bidi adaptations for amstext package for XeTeX engine] +\def\textdef@#1#2#3{\hbox{{% + \everymath{#1}% + \let\f@size#2\selectfont + \if@nonlatin\beginR\fi#3\if@nonlatin\endR\fi}}} +% \end{macrocode} +% \iffalse +%</amstext-xetex-bidi.def> +%<*amsthm-xetex-bidi.def> +%\fi +% \section{File \texttt{amsthm-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{amsthm-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for amsthm package for XeTeX engine] +\def\@thmcountersep{\@SepMark} +% \end{macrocode} +% \iffalse +%</amsthm-xetex-bidi.def> +%<*array-xetex-bidi.def> +%\fi +% \section{File \texttt{array-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{array-xetex-bidi.def}[2015/11/07 v0.3 bidi adaptations for array package for XeTeX engine] +\def\@testpach{\@chclass + \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else + \ifnum \@lastchclass=7 5 \else + \ifnum \@lastchclass=8 \tw@ \else + \ifnum \@lastchclass=9 \thr@@ + \else \z@ + \ifnum \@lastchclass = 10 \else + \edef\@nextchar{\expandafter\string\@nextchar}% + \@chnum + \if \@nextchar c\z@ \else + \if \@nextchar \if@RTLtab r\else l\fi\@ne \else + \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else + \z@ \@chclass + \if\@nextchar |\@ne \else + \if \@nextchar !6 \else + \if \@nextchar @7 \else + \if \@nextchar <8 \else + \if \@nextchar >9 \else + 10 + \@chnum + \if \@nextchar m\thr@@\else + \if \@nextchar p4 \else + \if \@nextchar b5 \else + \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi + \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} +\def\@tabular{% + \leavevmode + \hbox \bgroup\if@RTLtab\beginR \fi $\col@sep\tabcolsep \let\d@llarbegin\begingroup + \let\d@llarend\endgroup + \@tabarray} +\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup} +\expandafter\let\csname endtabular*\endcsname=\endtabular +\def\@array[#1]#2{% + \@tempdima \ht \strutbox + \advance \@tempdima by\extrarowheight + \setbox \@arstrutbox \hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \begingroup + \@mkpream{#2}% + \xdef\@preamble{\noexpand \ialign \@halignto + \bgroup \@arstrut \@preamble + \tabskip \z@ \cr}% + \endgroup + \@arrayleft + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi + \bgroup + \let \@sharp ##\let \protect \relax + \lineskip \z@ + \baselineskip \z@ + \m@th + \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi\@preamble} +\def\@tabarray{\@ifnextchar[{\@array}{\@array[c]}} +\def\endarray{\crcr \egroup\if@RTLtab\egroup\endR\egroup\fi \egroup \@arrayright \gdef\@preamble{}} +\def\array{\col@sep\arraycolsep + \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\gdef\@halignto{}% + \@RTLtabfalse\@tabarray} +% \end{macrocode} +% \iffalse +%</array-xetex-bidi.def> +%<*article-xetex-bidi.def> +%\fi +% \section{File \texttt{article-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{article-xetex-bidi.def}[2017/06/09 v0.6 bidi adaptations for standard article class for XeTeX engine] +\if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{3em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi} +\renewcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\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} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >\m@ne + \Large\bfseries \partname\nobreakspace\thepart + \par\nobreak + \fi + \huge \bfseries #2% + \markboth{}{}\par}% + \nobreak + \vskip 3ex + \@afterheading} +\renewenvironment{thebibliography}[1] + {\section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +% \end{macrocode} +% \iffalse +%</article-xetex-bidi.def> +%<*artikel1-xetex-bidi.def> +%\fi +% \section{File \texttt{artikel1-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{artikel1-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for artikel1 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\if@titlepage + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont\abstractname} + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\else + \renewenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \bgroup\if@RTL\leftskip\else\rightskip\fi=\unitindent + \section*{\small\SectFont\abstractname}% + \noindent\ignorespaces + \fi} + {\if@twocolumn\else\par\egroup\fi} +\fi +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\if@oldtoc +\renewcommand*\l@section[2]{% + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup} +\else + \renewcommand*\l@section{\@regtocline{1}} +\fi +\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} +\renewenvironment{thebibliography}[1] + {\section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\if@titlepage +\renewcommand*\TitleFont{\rmfamily} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} +\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax + \futurelet\@tempa\uc@ax} +\def\uc@ax{% + \ifx\@tempa\relax + \else + \\ \andname \\ \expandafter\uc@authornothanks + \fi} +\def\uc@tx{\ifx\@tempa\relax + \else \expandafter\uc@ty \fi} +\def\uc@ty#1{\thanks{#1}\uc@nothanks} +\else +\renewcommand*\maketitle{\par + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext{\@xmakefntext{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \TitleFont \@title \par}% + \vskip 1.5em% + {\large \TitleFont + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \TitleFont \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +% \end{macrocode} +% \iffalse +%</artikel1-xetex-bidi.def> +%<*artikel2-xetex-bidi.def> +%\fi +% \section{File \texttt{artikel2-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{artikel2-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for artikel2 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \advance\@tempdima by \othermargin + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@section[2]{% + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup} +\else + \renewcommand*\l@section{\@regtocline{1}} +\fi +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\if@titlepage + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont\abstractname}% + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\else + \renewenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \section*{\hskip\unitindent\small\SectFont\abstractname}% + \list{}{\setlength\listparindent{\unitindent}% + \setlength\parindent {\z@}% + \setlength\leftmargin {\unitindent}% + \setlength\rightmargin {\unitindent}% + \setlength\parsep {\z@}}% + \item[]% + \fi} + {\if@twocolumn\else\par\endlist\fi} +\fi +\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*\left@footnoterule{% + \kern-3\p@ + \hrule\@width 3\unitindent + \kern 2.6\p@ +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-3\unitindent\relax \hrulefill } + \kern 2.6\p@} +\renewenvironment{thebibliography}[1] + {\section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\if@titlepage +\renewcommand*\TitleFont{\rmfamily} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} +\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax + \futurelet\@tempa\uc@ax} +\def\uc@ax{% + \ifx\@tempa\relax + \else + \\ \andname \\ \expandafter\uc@authornothanks + \fi} +\def\uc@tx{\ifx\@tempa\relax + \else \expandafter\uc@ty \fi} +\def\uc@ty#1{\thanks{#1}\uc@nothanks} +\else +\renewcommand*\maketitle{\par + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}% + \leavevmode\hb@xt@.5\unitindent{% + \@textsuperscript{\normalfont\@thefnmark}\hfil}##1} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \TitleFont \@title \par}% + \vskip 1.5em% + {\large \TitleFont + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \TitleFont \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +% \end{macrocode} +% \iffalse +%</artikel2-xetex-bidi.def> +%<*artikel3-xetex-bidi.def> +%\fi +% \section{File \texttt{artikel3-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{artikel3-xetex-bidi.def}[2017/06/09 v0.5 bidi adaptations for artikel3 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\section*{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi + +\if@oldtoc +\renewcommand*\l@section[2]{% + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup} +\else + \renewcommand*\l@section{\@regtocline{1}} +\fi +\if@titlepage + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont\abstractname}% + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\else + \renewenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \bgroup\if@RTL\leftskip\else\rightskip\fi=\unitindent + \section*{\small\SectFont\abstractname}% + \noindent\ignorespaces + \fi} + {\if@twocolumn\else\par\egroup\fi} +\fi +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\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} +\renewenvironment{thebibliography}[1] + {\section*{\refname}% + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\if@titlepage +\renewcommand*\TitleFont{\rmfamily} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} +\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax + \futurelet\@tempa\uc@ax} +\def\uc@ax{% + \ifx\@tempa\relax + \else + \\ \andname \\ \expandafter\uc@authornothanks + \fi} +\def\uc@tx{\ifx\@tempa\relax + \else \expandafter\uc@ty \fi} +\def\uc@ty#1{\thanks{#1}\uc@nothanks} +\else +\renewcommand*\maketitle{\par + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext{\@xmakefntext{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\def\@maketitle{% + \newpage + \null + \vskip 2em% +\if@titlecentered + \begin{center}% + \let \footnote \thanks + {\LARGE \TitleFont \@title \par}% + \vskip 1.5em% + {\large \TitleFont + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \TitleFont \@date}% + \end{center}% + \else + {\LARGE \TitleFont \head@style \@title \par} \vskip 1.5em + {\large \TitleFont \lineskip .5em \tabcolsep\z@ + \def\and{%%% \begin{tabular} has already started + \end{tabular}\hskip 1em plus .17fil + \if@RTL\begin{tabular}[t]{r}\else\begin{tabular}[t]{l}\fi}%% \end{tabular} will come + \if@RTL\begin{tabular}[t]{r}\else\begin{tabular}[t]{l}\fi\@author\end{tabular}\par} + \vskip 1em {\large \TitleFont \@date} + \fi + \par + \vskip 1.5em} +\fi +% \end{macrocode} +% \iffalse +%</artikel3-xetex-bidi.def> +%<*arydshln-xetex-bidi.def> +%\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] +\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 +\let\adl@array\@array +\def\@array{\adl@everyvbox\everyvbox + \everyvbox{\adl@arrayinit \the\adl@everyvbox \everyvbox\adl@everyvbox}% + \ifadl@inactive \adl@inactivate \else \adl@activate \fi + \let\adl@noalign\noalign + \adl@array} +\ifadl@usingarypkg +\def\@testpach{\@chclass + \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else + \ifnum \@lastchclass=7 5 \else + \ifnum \@lastchclass=8 \tw@ \else + \ifnum \@lastchclass=9 \thr@@ + \else \z@ + \ifnum \@lastchclass = 10 \else + \edef\@nextchar{\expandafter\string\@nextchar}% + \@chnum + \if \@nextchar c\z@ \else + \if \@nextchar \if@RTLtab r\else l\fi\@ne \else + \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else + \z@ \@chclass + \if\@nextchar |\@ne \let\@arrayrule\adl@arrayrule \else + \if\@nextchar :\@ne \let\@arrayrule\adl@arraydashrule \else + \if\@nextchar ;\@ne \let\@arrayrule\adl@argarraydashrule \else + \if \@nextchar !6 \else + \if \@nextchar @7 \else + \if \@nextchar <8 \else + \if \@nextchar >9 \else + 10 + \@chnum + \if \@nextchar m\thr@@\else + \if \@nextchar p4 \else + \if \@nextchar b5 \else + \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi \fi \fi + \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} + +\def\@classz{\@classx + \@tempcnta \count@ + \prepnext@tok + \@addtopreamble{\ifcase \@chnum + \hfil + \adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or + \hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\hfil \or + \hfil\hskip1sp\adl@putlrc{\d@llarbegin \insert@column \d@llarend}\or + \setbox\adl@box\hbox \adl@startmbox{\@nextchar}\insert@column + \adl@endmbox\or + \setbox\adl@box\vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or + \setbox\adl@box\vbox \@startpbox{\@nextchar}\insert@column \@endpbox + \fi}\prepnext@tok} +\def\adl@class@start{4} +\def\adl@class@iiiorvii{7} + +\else +\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4\relax \else + \ifnum \@lastchclass=\thr@@ 5\relax \else + \z@ \if #1c\@chnum \z@ \else + \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else + \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else + \@chclass + \if #1|\@ne \let\@arrayrule\adl@arrayrule \else + \if #1:\@ne \let\@arrayrule\adl@arraydashrule \else + \if #1;\@ne \let\@arrayrule\adl@argarraydashrule \else + \if #1@\tw@ \else + \if #1p\thr@@ \else \z@ \@preamerr 0\fi + \fi \fi \fi \fi \fi \fi \fi \fi \fi} + +\def\@arrayclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or + \or \or \@addamp \or + \@acolampacol \or \@firstampfalse \@acol \fi + \edef\@preamble{\@preamble + \ifcase \@chnum + \hfil\adl@putlrc{$\relax\@sharp$}\hfil + \or \adl@putlrc{$\relax\@sharp$}\hfil + \or \hfil\adl@putlrc{$\relax\@sharp$}\fi}} +\def\@tabclassz{\ifcase \@lastchclass \@acolampacol \or \@ampacol \or + \or \or \@addamp \or + \@acolampacol \or \@firstampfalse \@acol \fi + \edef\@preamble{\@preamble + \ifcase \@chnum + \hfil\adl@putlrc{\@sharp\unskip}\hfil + \or \adl@putlrc{\@sharp\unskip}\hfil + \or \hfil\hskip\z@ \adl@putlrc{\@sharp\unskip}\fi}} +\def\adl@class@start{6} +\def\adl@class@iiiorvii{3} +\fi +\@ifpackageloaded{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} +\let\adl@CT@setup\CT@setup +\def\CT@setup{\adl@CT@setup + \@tempdima\ht\z@ \advance\@tempdima\minrowclearance + \ifdim\adl@height<\@tempdima \global\adl@height\@tempdima \fi + \ifdim\adl@depth<\dp\z@ \global\adl@depth\dp\z@\fi} +\let\adl@act@CT@setup\CT@setup +\def\@classz{\@classx + \@tempcnta\count@ \prepnext@tok + \expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil + \expandafter\adl@extract@arc\the\toks\@tempcnta\arrayrulecolor!\@nil + \expandafter\adl@extract@drsc + \the\toks\@tempcnta\doublerulesepcolor!\@nil + \expandafter\adl@extract@dgc\the\toks\@tempcnta\dashgapcolor!\@nil + \@addtopreamble{\if@RTL\beginL\fi% + \setbox\z@\hbox\bgroup\bgroup\if@RTL\beginR\fi + \ifcase \@chnum + \hskip\stretch{.5}\kern\z@ + \d@llarbegin + \insert@column + \d@llarend\hskip\stretch{.5}% + \or \d@llarbegin \insert@column \d@llarend \hfill + \or \hfill \kern\z@ \d@llarbegin \insert@column \d@llarend + \or $\vcenter + \@startpbox{\@nextchar}\insert@column \@endpbox $% + \or \vtop \@startpbox{\@nextchar}\insert@column \@endpbox + \or \vbox \@startpbox{\@nextchar}\insert@column \@endpbox + \fi + \if@RTL\endR\fi\egroup\egroup + \begingroup + \CT@setup + \CT@column@color + \CT@row@color + \CT@cell@color + \CT@do@color + \endgroup + \@tempdima\ht\z@ + \advance\@tempdima\minrowclearance + \vrule\@height\@tempdima\@width\z@ + \unhbox\z@\if@RTL\endL\fi}% + \prepnext@tok} +\let\adl@act@classz\@classz +\let\adl@org@classz\@classz +}{} +% \end{macrocode} +% \iffalse +%</arydshln-xetex-bidi.def> +%<*bidi.sty> +%\fi +% \section{File \texttt{bidi.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\def\bididate{2019/06/14} +\def\bidi@version{35.9} +\ProvidesPackage{bidi}[\bididate\space v\bidi@version\space +Bidirectional typesetting in plain TeX and LaTeX] +\edef\@bidi@info{****************************************************^^J% +* ^^J% +* bidi package (Bidirectional typesetting in^^J% +* plain TeX and LaTeX, using XeTeX engine)^^J% +* ^^J% +* Description: A convenient interface for^^J% +* typesetting bidirectional texts in plain TeX^^J% +* and LaTeX. The package includes adaptations^^J% +* for use with many other commonly-used packages.^^J% +* ^^J% +* Copyright (c) 2009--2019 Vafa Khalighi^^J% +* ^^J% +* v\bidi@version, \bididate^^J% +* ^^J% +* License: LaTeX Project Public License, version^^J% +* 1.3c or higher (your choice)^^J% +* ^^J% +* Location on CTAN: /macros/xetex/latex/bidi^^J% +* ^^J% +* Issue tracker: https://github.com/vafa-ac/bidi/issues^^J% +* ^^J% +****************************************************} +\typeout{\@bidi@info} +\edef\bidi@everyjob{\the\everyjob} +\everyjob{\bidi@everyjob\typeout{\@bidi@info}} +\newcommand*{\bidiversion}{\ensuremath\bidi@version} +\newcommand*{\IfbidiPackageVersionLater}[1]{% + \ifdim\bidi@version pt > #1 pt % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\IfbidiPackageVersionBefore}[1]{% + \ifdim\bidi@version pt < #1 pt % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\IfbidiPackageVersion}[1]{% + \ifdim\bidi@version pt = #1 pt % + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\RequirePackage{iftex} +\RequireXeTeX +\RequirePackage{biditools} +\RequirePackage{zref-abspage} +\RequirePackage{auxhook} +\RequirePackage{ltxcmds} +\RequirePackage{xkeyval} +\eqnewif{\if@RTLmain}{\if@rlmain} +\eqnewif{\if@RTL}{\if@rl} +\newif\if@nonlatin +\newif\if@bidi@perpage@footnote +\newcommand*{\setlatin}{\@nonlatinfalse} +\newcommand*{\setnonlatin}{\@nonlatintrue} +\eqnewif{\if@RTLtab}{\if@tab@rl} +\newif\if@hboxRconstruct +\newif\if@bidi@pdfencrypt +\newcommand*{\setRTLtable}{\@RTLtabtrue} +\newcommand*{\setLTRtable}{\@RTLtabfalse} +\newif\if@bidi@pdfm@mark +\newif\if@RTLmarginpar +\newif\if@LTRmarginpar +\newif\if@LTRbibitems +\newif\if@RTLbibitems +\newif\if@extrafootnotefeatures +\newif\if@RTLcolumnfootnotes +\eqnewif{\if@RTL@footnote}{\if@rl@footnote} +\newif\if@bidi@list@minipage@parbox +\newif\if@bidi@list@minipage@parbox@not@nob +\newcommand*{\@bidi@pdfcreator}{% + The bidi package, v\bidi@version, \bididate +} +\newcommand*{\@bidi@pdfproducer}{% + The bidi package, v\bidi@version, \bididate +} +\newcommand*{\@bidi@pdfcustomproperties}{% + This is the bidi package, Version \bidi@version, + Released June 14, 2019. +} +\@RTLmainfalse +\AtBeginDocument{% + \if@RTLmain\else + \if@RTL\@RTLmaintrue% + \else\@RTLmainfalse% + \fi% + \fi% +} +\let\n@xt=\ +\bidi@newrobustcmd*{\LRE}{\protect\pLRE}% +\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= } +\bidi@newrobustcmd*{\RLE}{\protect\pRLE} +\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= } +\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi + \errmessage{Missing left brace has been substituted}\fi \bgroup} +\newinsert\@bidi@copyins@ +\skip\@bidi@copyins@=12\p@ +\dimen\@bidi@copyins@=40pc +\count\@bidi@copyins@=1000 +\newcommand*{\@bidi@inslogo@}{\insert\@bidi@copyins@{\@bidi@logo@}} +\newcommand*{\@bidi@logo@hb@xt@columnwidth}{% + \if@RTLmain + \if@twocolumn + \hboxR to \columnwidth + \else + \hboxR to \textwidth + \fi + \else + \if@twocolumn + \hboxL to \columnwidth + \else + \hboxL to \textwidth + \fi + \fi +} +\newcommand*{\@bidi@logo}[1]{% + \toks@{% + \setbox\z@\hbox{% + \special{% + pdf:image width 50pt height 50pt (#1)% + } + }% + \dp\z@\z@ + \ht\z@=50pt + \wd\z@=50pt + \beginL + \lower20pt\box\z@ + \endL + }% + \the\toks@ +} +\newcommand*{\@bidi@logo@}{% + \@bidi@logo@hb@xt@columnwidth + {\hss\LRE{\bfseries Typeset by the \textsf{bidi} + package\quad\@bidi@logo{bidi-logo.pdf}}}} +\define@key{bidi@pdfencrypt}{userpassword}[]{% + \def\bidi@pdfencrypt@userpassword{#1}% +} +\define@key{bidi@pdfencrypt}{ownerpassword}[]{% + \def\bidi@pdfencrypt@ownerpassword{#1}% +} +\define@key{bidi@pdfencrypt}{keylength}[128]{% + \def\bidi@pdfencrypt@keylength{#1}% +} +\define@key{bidi@pdfencrypt}{permissionflags}[2052]{% + \def\bidi@pdfencrypt@permissionflags{#1}% +} +\newcommand*{\pdfencryptsetup}{\setkeys{bidi@pdfencrypt}} +\@onlypreamble\pdfencryptsetup +\input{latex-xetex-bidi.def} +\input{loadingorder-xetex-bidi.def} +\define@choicekey{bidi.sty}{RTLdocument}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \@RTLtrue + \or + \@RTLfalse + \fi} +\define@choicekey{bidi.sty}{documentdirection}[\bidi@tempa\bidi@tempb]{righttoleft,lefttoright}{% + \ifcase\bidi@tempb\relax + \@RTLtrue + \or + \@RTLfalse + \fi} +\define@choicekey{bidi.sty}{tabledirection}[\bidi@tempa\bidi@tempb]{righttoleft,lefttoright}{% + \ifcase\bidi@tempb\relax + \@RTLtabtrue + \or + \@RTLtabfalse + \fi} +\define@choicekey{bidi.sty}{script}[\bidi@tempa\bidi@tempb]{latin,nonlatin}[latin]{% + \ifcase\bidi@tempb\relax + \@nonlatinfalse + \or + \@nonlatintrue + \fi} +\define@choicekey{bidi.sty}{rldocument}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \@RTLtrue + \or + \@RTLfalse + \fi} +\define@choicekey{bidi.sty}{footnoterule}[\bidi@tempa\bidi@tempb]{automatic,left,right,split,textwidth}{% + \ifcase\bidi@tempb\relax + \autofootnoterule + \or + \leftfootnoterule + \or + \rightfootnoterule + \or + \SplitFootnoteRule + \or + \textwidthfootnoterule + \fi} +\define@choicekey{bidi.sty}{footnotedirection}[\bidi@tempa\bidi@tempb]{righttoleft,lefttoright}{% + \ifcase\bidi@tempb\relax + \@RTL@footnotetrue + \or + \@RTL@footnotefalse + \fi} +\define@choicekey{bidi.sty}{debugfootnotedirection}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \footdir@debugtrue + \or + \footdir@debugfalse + \fi} +\define@choicekey{bidi.sty}{extrafootnotefeatures}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \@extrafootnotefeaturestrue + \or + \@extrafootnotefeaturesfalse + \fi} + +\define@choicekey{bidi.sty}{DetectColumn}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \def\bidi@firstcolumn@status@write{% + \protected@write\@auxout{}% + {\string\bidi@column@status + {1}}}% + \def\bidi@lastcolumn@status@write{% + \protected@write\@auxout{}% + {\string\bidi@column@status{2}}}% + \or + \let\bidi@firstcolumn@status@write\relax + \let\bidi@lastcolumn@status@write\relax + \fi} + +\define@choicekey{bidi.sty}{logo}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \AtBeginDocument{\@bidi@inslogo@}% + \or + \let\@bidi@logo@\@empty \let\@bidi@inslogo@\@empty + \fi} + +\define@choicekey{bidi.sty}{pdfinfo}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \@bidi@pdfm@marktrue + \or + \@bidi@pdfm@markfalse + \fi} + +% The `perpagefootnote' option is documented in UK TeX FAQ at +% <https://texfaq.org/FAQ-footnpp> (see last paragraph) + +\define@choicekey{bidi.sty}{perpagefootnote}[\bidi@tempa\bidi@tempb]{on,off}[on]{% + \ifcase\bidi@tempb\relax + \@bidi@perpage@footnotetrue + \or + \@bidi@perpage@footnotefalse + \fi} + +\ExecuteOptionsX{% + DetectColumn=off% +} + +\ProcessOptionsX + +\pdfencryptsetup{% + userpassword,% + ownerpassword,% + keylength,% + permissionflags% +} + +\if@extrafootnotefeatures + \input{extrafootnotefeatures-xetex-bidi.def} +\fi +\newcount\bidi@digits +\XeTeXinterchartokenstate=\@ne +\newXeTeXintercharclass\bidi@digits@charclass +\newXeTeXintercharclass\bidi@sepmark@charclass +\XeTeXcharclass `\. \bidi@sepmark@charclass +\XeTeXcharclass `\- \bidi@sepmark@charclass +\bidi@digits=`\0 \loop \XeTeXcharclass \bidi@digits \bidi@digits@charclass \ifnum\bidi@digits<`\9 \advance\bidi@digits \@ne \repeat +\bidi@digits=`\۰ \loop \XeTeXcharclass \bidi@digits \bidi@digits@charclass \ifnum\bidi@digits<`\۹ \advance\bidi@digits \@ne \repeat +\XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks} +\newcommand*{\DigitsDotDashInterCharToks}{\if@nonlatin\char"200F \fi} +\bidi@AtEndPreamble{% + \if@bidi@perpage@footnote + \RequirePackage{bidi-perpage}% + \ResetCounterPerPage{footnote}% + \fi + \ifx\bidi@pdfencrypt@ownerpassword\bidi@empty + \ifx\bidi@pdfencrypt@userpassword\bidi@empty + \@bidi@pdfencryptfalse + \else + \@bidi@pdfencrypttrue + \fi + \else + \@bidi@pdfencrypttrue + \fi + \if@bidi@pdfencrypt + \special{pdf:encrypt + userpw (\bidi@pdfencrypt@userpassword) + ownerpw (\bidi@pdfencrypt@ownerpassword) + length \bidi@pdfencrypt@keylength + perm \bidi@pdfencrypt@permissionflags + }% + \fi +} +\AtEndDocument{% + \special{pdf:% + docinfo<<% + \if@bidi@pdfm@mark + /Creator(\@bidi@pdfcreator)% + /Producer(\@bidi@pdfproducer)% + \fi + /BIDI.Fullbanner(\@bidi@pdfcustomproperties)% + \if@bidi@csdef{@xepersian@pdfcustomproperties}{% + /XEPERSIAN.Fullbanner(\@xepersian@pdfcustomproperties)% + }{}% + >>% + }% +} +% \end{macrocode} +% \iffalse +%</bidi.sty> +%<*bidi.tex> +%\fi +% \section{File \texttt{bidi.tex}} +% \begin{macrocode} +\def\bididate{2019/06/14} +\catcode`@=11 +\def\bidi@version{35.9} +\let \protect \relax +\newlinechar`\^^J +\edef\@bidi@info{****************************************************^^J% +* ^^J% +* bidi package (Bidirectional typesetting in^^J% +* plain TeX and LaTeX, using XeTeX engine)^^J% +* ^^J% +* Description: A convenient interface for^^J% +* typesetting bidirectional texts in plain TeX^^J% +* and LaTeX. The package includes adaptations^^J% +* for use with many other commonly-used packages.^^J% +* ^^J% +* Copyright (c) 2009--2019 Vafa Khalighi^^J% +* ^^J% +* v\bidi@version, \bididate^^J% +* ^^J% +* License: LaTeX Project Public License, version^^J% +* 1.3c or higher (your choice)^^J% +* ^^J% +* Location on CTAN: /macros/xetex/latex/bidi^^J% +* ^^J% +* Issue tracker: https://github.com/vafa-ac/bidi/issues^^J% +* ^^J% +****************************************************} +\message{\@bidi@info} +\edef\bidi@everyjob{\the\everyjob} +\everyjob{\bidi@everyjob\message{\@bidi@info}} +\def\bidiversion{% + \relax + \ifmmode + \bidi@version + \else + $\bidi@version$ + \fi +} +\input iftex.sty +\RequireXeTeX +\newif\if@bidi@pdfm@mark +\newif\if@RTLmain +\newif\if@RTL +\newif\if@hboxRconstruct +\newif\if@sentdir +\newif\if@RTL@footnote +\@RTLmainfalse +\def\setRTLmain{% + \if@RTLmain\else + \if@RTL\@RTLmaintrue% + \else\@RTLmainfalse% + \fi% + \fi% +} +\let\n@xt=\ +\protected\def\LRE{\protect\pLRE}% +\def\pLRE{\protect\afterassignment\moreLRE \let\n@xt= } +\protected\def\RLE{\protect\pRLE} +\def\pRLE{\protect\afterassignment\moreRLE \let\n@xt= } +\def\bracetext{\ifcat\n@xt{\else\ifcat\n@xt}\fi + \errmessage{Missing left brace has been substituted}\fi \bgroup} +\newinsert\@bidi@copyins@ +\skip\@bidi@copyins@=12\p@ +\dimen\@bidi@copyins@=40pc +\count\@bidi@copyins@=1000 +\def\@bidi@inslogo@{\insert\@bidi@copyins@{\@bidi@logo@}} +\def\@bidi@logo@hb@xt@{% + \if@RTLmain + \hboxR to + \else + \hboxL to + \fi +} +\def\@bidi@logo#1{% + \toks@{% + \setbox\z@\hbox{% + \special{% + pdf:image width 50pt height 50pt (#1)% + } + }% + \dp\z@\z@ + \ht\z@=50pt + \wd\z@=50pt + \beginL + \lower20pt\box\z@ + \endL + }% + \the\toks@ +} +\def\@bidi@logo@{\@bidi@logo@hb@xt@\hsize{\hss\LRE{\bf Typeset by the bidi package\quad\@bidi@logo{bidi-logo.pdf}}}} +\def\nobidilogo{\let\@bidi@logo@\@empty \let\@bidi@inslogo@\@empty} +\def\@bidi@pdfcreator{% + The bidi package, v\bidi@version, \bididate +} +\def\@bidi@pdfproducer{% + The bidi package, v\bidi@version, \bididate +} +\def\@bidi@pdfcustomproperties{% + This is the bidi package, Version \bidi@version, + Released June 14, 2019. +} +\def\bidi@pdfm@mark{% + \special{pdf:% + docinfo<<% + \if@bidi@pdfm@mark + /Creator(\@bidi@pdfcreator)% + /Producer(\@bidi@pdfproducer)% + \fi + /BIDI.Fullbanner(\@bidi@pdfcustomproperties)% + >>% + }% +} +\def\bidipdfinfoon{\@bidi@pdfm@marktrue} +\def\bidipdfinfooff{\@bidi@pdfm@markfalse} +\input plain-xetex-bidi.def +\@bidi@inslogo@ +\outer\def\bye{\par\vfill\supereject\bidi@pdfm@mark\end} +\catcode`@=12 +\bidipdfinfoon +% \end{macrocode} +% \iffalse +%</bidi.tex> +%<*bidi2in1.sty> +%\fi +% \section{File \texttt{bidi2in1.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidi2in1} +\pagestyle{plain} +\newcount\evenpage +\newcount\oddpage +\twocolumn +\def\@oddfoot{\evenpage=\thepage% +\multiply\evenpage by 2% +\oddpage=\the\evenpage% +\advance\oddpage by -1% +\hfil\the\evenpage\hfil\hfil\the\oddpage\hfil}% +\def\@evenfoot{\evenpage=\thepage% +\multiply\evenpage by 2% +\oddpage=\the\evenpage% +\advance\oddpage by -1% +\hfil\the\oddpage\hfil\hfil\the\evenpage\hfil}% +\textwidth 9.49in +\textheight 6.7in +\columnsep 0.9in +\columnseprule 0.125pt +\headheight 0cm +\topmargin 0in +\marginparwidth 0in +\marginparsep 0in +\hoffset 0.05in % Corrected +\voffset -0.5in %top margin space is 1.0in by default +\oddsidemargin 0in +\evensidemargin 0in +\headsep 0cm +\topskip 0cm +\parskip 0.15in % +\headsep 0pt +\special{papersize=11.69in,8.26in} +\renewcommand\maketitle{\par +\begingroup +\renewcommand\thefootnote{\@fnsymbol\c@footnote}% +\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% +\long\def\@makefntext##1{\parindent 1em\noindent +\hb@xt@1.8em{% +\hss\@textsuperscript{\normalfont\@thefnmark}}##1}% +\@maketitle +\@thanks +\endgroup +\setcounter{footnote}{0}% +\global\let\thanks\relax +\global\let\maketitle\relax +\global\let\@maketitle\relax +\global\let\@thanks\@empty +\global\let\@author\@empty +\global\let\@date\@empty +\global\let\@title\@empty +\global\let\title\relax +\global\let\author\relax +\global\let\date\relax +\global\let\and\relax +} +% \end{macrocode} +% \iffalse +%</bidi2in1.sty> +%<*bidicode.sty> +%\fi +% \section{File \texttt{bidicode.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidicode} +\RequirePackage{xcolor} +\RequirePackage{showexpl} +\definecolor{hellgelb}{rgb}{1,1,0.85} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} +\lstset{ + language=[LaTeX]TEX, + float=hbp, + basicstyle=\ttfamily\small, + identifierstyle=\color{colIdentifier}, + keywordstyle=\color{colKeys}, + stringstyle=\color{colString}, + commentstyle=\color{colComments}, + backgroundcolor=\color{hellgelb}, + columns=flexible, + tabsize=4, + extendedchars=true, + showspaces=false, + showstringspaces=false, + numbers=left, + numbersep=0.9em, + numberstyle=\tiny, % + frame=single, + captionpos=b, + xleftmargin=1em, + breaklines=true, + breakautoindent=false, + breakindent=0pt, + escapeinside=**, + pos=r, + explpreset={% + xleftmargin=1em,columns=flexible,language=[LaTeX]TEX}, + morekeywords={setLTR,setLR,setRTL,setRL,LRE,LR,RLE,RL,lr,bidiversion,bididate} +} +\newcommand\HLON{% + \gdef\lst@alloverstyle##1{% + \fboxrule=0pt + \fboxsep=0pt + \fcolorbox{hellgelb}{hellgelb}{\bfseries\strut##1}% +}} +\newcommand\HLOFF{% + \xdef\lst@alloverstyle##1{##1}% +} +\newcommand\Larg [1]{{\normalfont\itshape#1\/}} +\newcommand\Larga[1]{$\langle$\Larg{#1}$\rangle$} +\newcommand\Largb[1]{\lcb\Larg{#1}\rcb} +\newcommand\Largs[1]{\lsb\Larg{#1}\rsb} +\newcommand\Largr[1]{\lrb\Larg{#1}\rrb} +\newcommand\LBEG[1]{{\normalfont\ttfamily\bs{}begin\lcb#1\rcb}} +\newcommand\LEND[1]{{\normalfont\ttfamily\bs{}end\lcb#1\rcb}} + +\DeclareRobustCommand\bs{{\normalfont\ttfamily\symbol{92}}} +\DeclareRobustCommand\lcb{{\normalfont\ttfamily\char`\{}} +\DeclareRobustCommand\rcb{{\normalfont\ttfamily\char`\}}} +\DeclareRobustCommand\lsb{{\normalfont\ttfamily[}} +\DeclareRobustCommand\rsb{{\normalfont\ttfamily]}} +\DeclareRobustCommand\lrb{{\normalfont\ttfamily(}} +\DeclareRobustCommand\rrb{{\normalfont\ttfamily)}} + +\def\Lcs#1{\nxLcs{#1}} +\def\LcsStar#1{\nxLcs{#1}\OptArg*{*}} +\def\nxLcs#1{\texttt{\symbol{92}#1}} + +\def\Coordx#1{$x_{#1}$} +\def\Coordy#1{$y_{#1}$} +\def\Coordz#1{$z_{#1}$} +\def\Coord#1{\Coordx{#1},\kern 1pt\Coordy{#1}} +\def\Coordn{\Coordx{n},\kern 1pt\Coordy{n}} +\def\CoordIII#1{\Coordx{#1},\kern 1pt\Coordy{#1},\kern 1pt\Coordz{#1}} +\def\CAny{\Coordx{},\kern 1pt\Coordy{}} +\def\CIIIAny{\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordz{}} +\def\coord#1{(\Coordx{#1},\kern 1pt\Coordy{#1})} +\def\coordn{(\Coordx{n},\kern 1pt\Coordy{n})} +\def\coordiii#1{(\Coordx{#1},\kern 1pt\Coordy{#1},\kern 1pt\Coordz{#1})} +\def\coordx#1{($x_{#1}$)} +\def\coordy#1{($y_{#1}$)} +\def\coordz#1{($z_{#1}$)} +\def\cAny{(\Coordx{},\kern 1pt\Coordy{})} +\def\ciiiAny{(\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordz{})} + +\newsavebox{\boxdef} +\newenvironment{BDef} + {\begin{lrbox}\boxdef + \def\arraystretch{1.0} + \begin{tabular}{@{}l@{}l@{}l@{}} + } + {\end{tabular}\end{lrbox} + + {\BCmd\fbox{\usebox\boxdef}\endBCmd} + \aftergroup\@afterindentfalse\aftergroup\@afterheading + } + +\newenvironment{BDef*} + {\begin{lrbox}\boxdef + \def\arraystretch{1.0} + \begin{tabular}{@{}l@{}l@{}l@{}} + } + {\end{tabular}\end{lrbox} + {\begin{BCmd*}\fbox{\usebox\boxdef}\end{BCmd*}} + \aftergroup\@afterindentfalse\aftergroup\@afterheading + } +\newenvironment{BCmd}{ + \@beginparpenalty-\@lowpenalty + \topsep\BDefaboveskip + \fboxsep3pt + \flushleft} + {\@endparpenalty\@M + \@topsepadd\BDefbelowskip + \endflushleft} + +\newenvironment{BCmd*}{ + \@beginparpenalty\@M + \topsep\BDefinlineskip + \fboxsep3pt + \flushleft} + {\@endparpenalty5000 + \endflushleft} + +\newskip\BDefaboveskip +\newskip\BDefbelowskip +\newskip\BDefinlineskip +\setlength\BDefaboveskip{10pt plus 4pt} +\setlength\BDefbelowskip{6pt} +\setlength\BDefinlineskip{6pt} + +\def\OptArgs{\colorbox{black!20}{\texttt{[Options]}}\kern1pt} +\def\OptArg{\@ifnextchar*\OptArg@i{\OptArg@ii*}} +\def\OptArg@i*#1{\colorbox{black!20}{\texttt{#1}}\kern1pt} +\def\OptArg@ii*#1{\colorbox{black!20}{\texttt{[#1]}}\kern1pt} +% \end{macrocode} +% \iffalse +%</bidicode.sty> +%<*bidiftnxtra.sty> +%\fi +% \section{File \texttt{bidiftnxtra.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidiftnxtra} +\newtoks\bidi@p@ftn +\let\FN@sf@@footnote\footnote +\let\FN@sf@@LTRfootnote\LTRfootnote +\let\FN@sf@@RTLfootnote\RTLfootnote +\def\footnote{\ifx\protect\@typeset@protect + \expandafter\FN@sf@@footnote + \else + \expandafter\FN@sf@gobble@opt + \fi +} +\def\LTRfootnote{\ifx\protect\@typeset@protect + \expandafter\FN@sf@@LTRfootnote + \else + \expandafter\FN@sf@gobble@opt + \fi +} +\def\RTLfootnote{\ifx\protect\@typeset@protect + \expandafter\FN@sf@@RTLfootnote + \else + \expandafter\FN@sf@gobble@opt + \fi +} +\edef\FN@sf@gobble@opt{\noexpand\protect + \expandafter\noexpand\csname FN@sf@gobble@opt \endcsname} +\expandafter\def\csname FN@sf@gobble@opt \endcsname{% + \@ifnextchar[%] + \FN@sf@gobble@twobracket + \@gobble +} +\def\FN@sf@gobble@twobracket[#1]#2{} +\let\FN@sf@@footnotemark\footnotemark +\def\footnotemark{\ifx\protect\@typeset@protect + \expandafter\FN@sf@@footnotemark + \else + \expandafter\FN@sf@gobble@optonly + \fi +} +\edef\FN@sf@gobble@optonly{\noexpand\protect + \expandafter\noexpand\csname FN@sf@gobble@optonly \endcsname} +\expandafter\def\csname FN@sf@gobble@optonly \endcsname{% + \@ifnextchar[%] + \FN@sf@gobble@bracket + {}% +} +\def\FN@sf@gobble@bracket[#1]{} +\def\@tabular{% + \leavevmode \hbox \bgroup + \let\@footnotetext\bidi@p@ftntext + \let\@LTRfootnotetext\bidi@p@LTRftntext + \let\@RTLfootnotetext\bidi@p@RTLftntext + \let\@xfootnotenext\bidi@p@xftntext + \let\@xfootnote\bidi@p@xfootnote + \let\@xLTRfootnotenext\bidi@p@xLTRftntext + \let\@xLTRfootnote\bidi@p@xLTRfootnote + \let\@xRTLfootnotenext\bidi@p@xRTLftntext + \let\@xRTLfootnote\bidi@p@xRTLfootnote + \if@RTLtab\beginR \fi + $\let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\endtabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi + \egroup $\if@RTLtab\endR\fi\egroup + \ifx\@captype\@undefined + \global\bidi@p@ftn\expandafter{\expandafter}\the\bidi@p@ftn\fi} +\long\def\bidi@p@ftntext#1{% + \edef\@tempy{\the\bidi@p@ftn\noexpand\footnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidi@p@ftn\expandafter{\@tempy{#1}}}% +\long\def\bidi@p@LTRftntext#1{% + \edef\@tempyi{\the\bidi@p@ftn\noexpand\LTRfootnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidi@p@ftn\expandafter{\@tempyi{#1}}}% +\long\def\bidi@p@RTLftntext#1{% + \edef\@tempyii{\the\bidi@p@ftn\noexpand\RTLfootnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidi@p@ftn\expandafter{\@tempyii{#1}}}% + + +\long\def\bidi@p@xftntext[#1]#2{% + \global\bidi@p@ftn\expandafter{\the\bidi@p@ftn\footnotetext[#1]{#2}}} + +\long\def\bidi@p@xLTRftntext[#1]#2{% + \global\bidi@p@ftn\expandafter{\the\bidi@p@ftn\LTRfootnotetext[#1]{#2}}} + +\long\def\bidi@p@xRTLftntext[#1]#2{% + \global\bidi@p@ftn\expandafter{\the\bidi@p@ftn\RTLfootnotetext[#1]{#2}}} + + +\def\bidi@p@xfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidi@p@xftntext[#1]} + + +\def\bidi@p@xLTRfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidi@p@xLTRftntext[#1]} + + +\def\bidi@p@xRTLfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidi@p@xRTLftntext[#1]} + +\def\@xfloat #1[#2]{% + \@nodocument + \def \@captype {#1}% + \def \@fps {#2}% + \@onelevel@sanitize \@fps + \def \reserved@b {!}% + \ifx \reserved@b \@fps + \@fpsadddefault + \else + \ifx \@fps \@empty + \@fpsadddefault + \fi + \fi + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist + {% + \@tempcnta \sixt@@n + \expandafter \@tfor \expandafter \reserved@a + \expandafter :\expandafter =\@fps + \do + {% + \if \reserved@a h% + \ifodd \@tempcnta + \else + \advance \@tempcnta \@ne + \fi + \fi + \if \reserved@a t% + \@setfpsbit \tw@ + \fi + \if \reserved@a b% + \@setfpsbit 4% + \fi + \if \reserved@a p% + \@setfpsbit 8% + \fi + \if \reserved@a !% + \ifnum \@tempcnta>15 + \advance\@tempcnta -\sixt@@n\relax + \fi + \fi + }% + \@tempcntb \csname ftype@\@captype \endcsname + \multiply \@tempcntb \@xxxii + \advance \@tempcnta \@tempcntb + \global \count\@currbox \@tempcnta + }% + \@fltovf + \fi + \global \setbox\@currbox + \color@vbox + \normalcolor + \vbox \bgroup + \let\@footnotetext\bidi@p@ftntext + \let\@LTRfootnotetext\bidi@p@LTRftntext + \let\@RTLfootnotetext\bidi@p@RTLftntext + \let\@xfootnotenext\bidi@p@xftntext + \let\@xfootnote\bidi@p@xfootnote + \let\@xLTRfootnotenext\bidi@p@xLTRftntext + \let\@xLTRfootnote\bidi@p@xLTRfootnote + \let\@xRTLfootnotenext\bidi@p@xRTLftntext + \let\@xRTLfootnote\bidi@p@xRTLfootnote + \hsize\columnwidth + \@parboxrestore + \@floatboxreset +} +\def \@endfloatbox{% + \par\vskip\z@skip %% \par\vskip\z@ added 15 Dec 87 + \@minipagefalse + \outer@nobreak + \egroup %% end of vbox + \global\bidi@p@ftn\expandafter{\expandafter}\the\bidi@p@ftn + \color@endbox +} +% \end{macrocode} +% \iffalse +%</bidiftnxtra.sty> +%<*bidimoderncv.cls> +%\fi +% \section{File \texttt{bidimoderncv.cls}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{bidimoderncv} +\newif\if@DEBUG\@DEBUGfalse +\DeclareOption{a4paper}{ + \setlength\paperheight{297mm} + \setlength\paperwidth{210mm}} +\DeclareOption{a5paper}{ + \setlength\paperheight{210mm} + \setlength\paperwidth{148mm}} +\DeclareOption{b5paper}{ + \setlength\paperheight{250mm} + \setlength\paperwidth{176mm}} +\DeclareOption{letterpaper}{ + \setlength\paperheight{11in} + \setlength\paperwidth{8.5in}} +\DeclareOption{legalpaper}{ + \setlength\paperheight{14in} + \setlength\paperwidth{8.5in}} +\DeclareOption{executivepaper}{ + \setlength\paperheight{10.5in} + \setlength\paperwidth{7.25in}} +\DeclareOption{landscape}{ + \setlength\@tempdima{\paperheight} + \setlength\paperheight{\paperwidth} + \setlength\paperwidth{\@tempdima}} +\newcommand\@ptsize{} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\newif\if@colour\@colourtrue +\DeclareOption{nocolour}{\@colourfalse} +\ExecuteOptions{a4paper,11pt,colour,final} +\ProcessOptions\relax +\input{size1\@ptsize.clo} +\RequirePackage{color} +\RequirePackage{graphicx} +\RequirePackage{ifthen} +\RequirePackage{marvosym} +\addtolength{\oddsidemargin}{-54pt} +\addtolength{\textwidth}{109pt} +\addtolength{\topmargin}{-70pt} +\addtolength{\textheight}{122pt} +\addtolength{\marginparsep}{-5pt} +\addtolength{\marginparwidth}{-10pt} +\RequirePackage{url} +\RequirePackage{hyperref} +\hypersetup{% + breaklinks, + baseurl = http://,% + pdfborder = 0 0 0,% + pdfpagemode = UseNone,% + pdfstartpage = 1} +\AtEndOfClass{% + \AtBeginDocument{% + \hypersetup{% + pdfauthor = \@firstname~\@familyname,% + pdftitle = \@title,% + pdfsubject = \@firstname~\@familyname,% + pdfkeywords = \@resumename~\@firstname~\@familyname}}} +\urlstyle{tt} +\RequirePackage{fancyhdr} +\fancypagestyle{plain}{% + \renewcommand{\headrulewidth}{0pt} + \renewcommand{\footrulewidth}{0pt} + \fancyhf{}} +\pagestyle{plain} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\setlength{\parindent}{0pt} +\setlength{\parskip}{0pt} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\pagestyle{empty} +\pagenumbering{arabic} +\raggedbottom +\onecolumn +\providecommand*{\listitemsymbol}{\textbullet} +\providecommand*{\addresssymbol}{} +\providecommand*{\mobilesymbol}{\Mobilefone} +\providecommand*{\phonesymbol}{\Telefon} +\providecommand*{\faxsymbol}{\FAX} +\providecommand*{\emailsymbol}{\Letter} +\definecolor{firstnamecolor}{rgb}{0,0,0} +\def\firstnamecolour#1{\gdef\@firstnamecolour{\addfontfeature{Color=#1}}} +\def\familynamecolour#1{\gdef\@familynamecolour{\addfontfeature{Color=#1}}} +\def\titlecolour#1{\gdef\@titlecolour{\addfontfeature{Color=#1}}} +\def\addresscolour#1{\gdef\@addresscolour{\addfontfeature{Color=#1}}} +\def\quotecolour#1{\gdef\@quotecolour{\addfontfeature{Color=#1}}} +\def\sectiontitlecolour#1{\gdef\@sectiontitlecolour{\addfontfeature{Color=#1}}} +\definecolor{sectionrectanglecolor}{rgb}{0,0,0} +\def\subsectioncolour#1{\gdef\@subsectioncolour{\addfontfeature{Color=#1}}} +\def\hintcolour#1{\gdef\@hintcolour{\addfontfeature{Color=#1}}} +\providecommand*{\firstnamefont}{} +\providecommand*{\familynamefont}{} +\providecommand*{\titlefont}{} +\providecommand*{\addressfont}{} +\providecommand*{\quotefont}{} +\providecommand*{\sectionfont}{} +\providecommand*{\subsectionfont}{} +\providecommand*{\hintfont}{\small} +\providecommand*{\firstnamestyle}[1]{{\firstnamefont\@firstnamecolour#1}} +\providecommand*{\familynamestyle}[1]{{\familynamefont\@familynamecolour#1}} +\providecommand*{\titlestyle}[1]{{\titlefont\@titlecolour#1}} +\providecommand*{\addresstyle}[1]{{\addressfont\@addresscolour#1}} +\providecommand*{\quotestyle}[1]{{\quotefont\@quotecolour#1}} +\providecommand*{\sectionstyle}[1]{{\sectionfont\@sectiontitlecolour#1}} +\providecommand*{\subsectionstyle}[1]{{\subsectionfont\@subsectioncolour#1}} +\providecommand*{\hintstyle}[1]{{\hintfont\@hintcolour#1}} +\newcommand*{\cvtheme}[2][]{ + \def\@cvtheme{#2} + \def\@cvthemeoptions{#1}} +\cvtheme{bidi-casual} +\AtBeginDocument{\RequirePackage[\@cvthemeoptions]{cvtheme\@cvtheme}} +\newcommand*{\resumename}[1]{\def\@resumename{#1}} +\newcommand*{\firstname}[1]{\def\@firstname{#1}} +\newcommand*{\familyname}[1]{\def\@familyname{#1}} +\renewcommand*{\title}[1]{\def\@title{#1}} +\newcommand*{\address}[1]{\def\@address{#1}} +\newcommand*{\mobile}[1]{\def\@mobile{#1}} +\newcommand*{\phone}[1]{\def\@phone{#1}} +\renewcommand*{\fax}[1]{\def\@fax{#1}} +\newcommand*{\email}[1]{\def\@email{#1}} +\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} +\def\@photowidth{0pt} +\newcommand*{\photo}[2][64pt]{\def\@photowidth{#1}\def\@photo{#2}} +\newcommand*{\quote}[1]{\def\@quote{#1}} +\newlength{\quotewidth} +\newlength{\hintscolumnwidth} +\newlength{\separatorcolumnwidth} +\setlength{\separatorcolumnwidth}{0.025\textwidth} +\newlength{\maincolumnwidth} +\newlength{\doubleitemmaincolumnwidth} +\newlength{\listitemsymbolwidth} +\settowidth{\listitemsymbolwidth}{\listitemsymbol{}~} +\newlength{\listitemmaincolumnwidth} +\newlength{\listdoubleitemmaincolumnwidth} +\newcommand*{\recomputethemelengths}{} +\newcommand*{\recomputelengths}{% +\setlength{\quotewidth}{0.65\textwidth}% +\setlength{\maincolumnwidth}{\textwidth}% +\addtolength{\maincolumnwidth}{-\separatorcolumnwidth}% +\addtolength{\maincolumnwidth}{-\hintscolumnwidth}% +\setlength{\listitemmaincolumnwidth}{\maincolumnwidth}% +\addtolength{\listitemmaincolumnwidth}{-\listitemsymbolwidth}% +\setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth}% +\addtolength{\doubleitemmaincolumnwidth}{-\hintscolumnwidth}% +\addtolength{\doubleitemmaincolumnwidth}{-\separatorcolumnwidth}% +\setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}% +\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth}% +\addtolength{\listdoubleitemmaincolumnwidth}{-\listitemsymbolwidth}% +\setlength{\listdoubleitemmaincolumnwidth}{0.475\listdoubleitemmaincolumnwidth}% +\renewcommand{\headwidth}{\textwidth}% +\recomputethemelengths} +\setlength{\hintscolumnwidth}{0.15\textwidth} +\recomputelengths +\title{} +\renewcommand*{\maketitle}{} +\newcommand*{\section}[1]{% +\vspace*{2.5ex \@plus 1ex \@minus .2ex}% + \phantomsection{}% + \addcontentsline{toc}{part}{#1}% + \parbox[m]{\hintscolumnwidth}{\bidi@raggedleft\hintfont{\leavevmode\color{sectionrectanglecolor}\rule{\hintscolumnwidth}{1ex}}}% + \hspace{\separatorcolumnwidth}% + \parbox[m]{\maincolumnwidth}{\sectionstyle{#1}}\\[1ex]} +\newcommand*{\subsection}[1]{% + \cvline[0.45em]{}{\subsectionstyle{#1}}} +\newcommand*{\cvline}[3][.25em]{% + \begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}% + \bidi@raggedleft\hintfont{#2} &{#3}% + \end{tabular}\\[#1]} +\newcommand*{\cvdoubleitem}[4]{% + \cvline{#1}{\begin{minipage}[t]{\doubleitemmaincolumnwidth}#2\end{minipage}% + \hfill% + \begin{minipage}[t]{\hintscolumnwidth}\bidi@raggedleft\hintfont{#3}\end{minipage}\hspace*{\separatorcolumnwidth}\begin{minipage}[t]{\doubleitemmaincolumnwidth}#4\end{minipage}}} +\newcommand*{\cvlistitem}[2][\listitemsymbol{}]{% + \cvline[0pt]{}{#1~\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}} +\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol{}]{% + \cvline[0pt]{}{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}% + \hfill% + \ifthenelse{\equal{#3}{}}% + {}% + {#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}} +\newcommand*{\cventry}[6]{% + \cvline{#1}{% + {\bfseries#2}% + \ifx#3\else{, {\slshape#3}}\fi% + \ifx#4\else{, #4}\fi% + \ifx#5\else{, #5}\fi% + .% + \ifx#6\else{\newline{}\begin{minipage}[t]{\linewidth}\small#6\end{minipage}}\fi + }}% +\newcommand*{\cvlanguage}[3]{% + \cvline{#1}{\begin{minipage}[t]{.225\maincolumnwidth}\textbf{#2}\end{minipage}\hfill\begin{minipage}[t]{0.725\maincolumnwidth}\bidi@raggedleft\footnotesize\itshape #3\end{minipage}}} +\newcommand*{\cvcomputer}[4]{% + \cvdoubleitem{#1}{\small#2}{#3}{\small#4}} +\newcommand*{\link}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\href{#2}{#2}}% + {\href{#2}{#1}}} +\newcommand*{\httplink}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\href{http://#2}{#2}}% + {\href{http://#2}{#1}}} +\newcommand*{\emaillink}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\href{mailto:#2}{#2}}% + {\href{mailto:#2}{#1}}} +\newif\if@displaypagenumbers\@displaypagenumberstrue +\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse} +\AtBeginDocument{% + \if@displaypagenumbers% + \@ifundefined{r@lastpage}{}{% + \ifthenelse{\pageref{lastpage} > 1}{% + \fancypagestyle{plain}{% + \fancyfoot[r]{\beginL\addressfont\@quotecolour\footnotesize\thepage\beginL/\endL\pageref{lastpage}\endL}}% + \pagestyle{plain}}{}}% + \AtEndDocument{\label{lastpage}}% + \fi} +\newlength{\bibindent} +\setlength{\bibindent}{1.5em} +\newcommand*{\bibliographyitemlabel}{\includegraphics{bibitem.pdf}} +\newenvironment{thebibliography}[1]% + {% + \section{\refname}% + \small% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \begin{list}{\bibliographyitemlabel}% + {% + \setlength{\topsep}{0pt}% + \setlength{\labelwidth}{\hintscolumnwidth}% + \setlength{\labelsep}{\separatorcolumnwidth}% + \leftmargin\labelwidth% + \advance\leftmargin\labelsep% + \@openbib@code% + \usecounter{enumiv}% + \let\p@enumiv\@empty% + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + }% + {% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \end{list}% + } +\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +% \end{macrocode} +% \iffalse +%</bidimoderncv.cls> +%<*bidi-perpage.sty> +%\fi +% \section{File \texttt{bidi-perpage.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidi-perpage}[2018/10/04 v0.4 Reset counter(s) on every page] +\newcount\bidi@page@count +\bidi@page@count\@ne +\newcommand*{\ResetCounterPerPage}[2][\z@]{% + \if@bidi@csundef{bidi@stepcounterhook@@#2}{% + \expandafter\gdef\csname bidi@stepcounterhook@@#2\endcsname{}% + }{}% + \if@bidi@csundef{if@bidi@reset@#2@rerun}{% + \expandafter\newif\csname if@bidi@reset@#2@rerun\endcsname + }{}% + \if@bidi@csundef{bidi@#2@count}{% + \expandafter\newcount\csname bidi@#2@count\endcsname + }{}% + \csname bidi@#2@count\endcsname\z@ + \if@bidi@csundef{bidi@previous@page@@#2@count}{% + \expandafter\newcount\csname + bidi@previous@page@@#2@count\endcsname + }{}% + \csname bidi@previous@page@@#2@count\endcsname\z@ + \if@bidi@csundef{bidi@reset@#2@perpage}{% + \bidi@AfterEndDocumentCheckLabelsRerun{% + \csname if@bidi@reset@#2@rerun\endcsname + \PackageWarningNoLine{bidi-perpage}{% + Counter `#2' may not have been reset per page. + Rerun to reset counter `#2' per page% + }% + \fi + }% + }{}% + \expandafter\gdef\csname bidi@reset@#2@perpage\endcsname{% + \global\advance\csname bidi@#2@count\endcsname\@ne + \if@filesw + \edef\@tempa{% + \write\@auxout{% + \string\bidi@counter@page{#2}% + {\number\csname bidi@#2@count\endcsname}% + {\noexpand\number\noexpand\bidi@page@count}% + }% + }% + \@tempa + \fi + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname bidi@#2@@\number\csname + bidi@#2@count\endcsname\endcsname\relax + \global\csname @bidi@reset@#2@reruntrue\endcsname + \else + \global\csname @bidi@reset@#2@rerunfalse\endcsname + \expandafter\@tempcnta\csname bidi@#2@@\number + \csname bidi@#2@count\endcsname\endcsname\relax + \ifnum\@tempcnta=\csname + bidi@previous@page@@#2@count\endcsname + \else + \global\csname + bidi@previous@page@@#2@count\endcsname\@tempcnta + \global\csname c@#2\endcsname#1\relax + \fi + \fi + }% + \expandafter\bidi@gappto\csname + bidi@stepcounterhook@@#2\endcsname{% + \csname bidi@reset@#2@perpage\endcsname + }% +} +\def\bidi@counter@page#1#2#3{\bidi@namegdef{bidi@#1@@#2}{#3}} +\bidi@AtEndOutputPage{% + \global\advance\bidi@page@count\@ne +} +% \end{macrocode} +% \iffalse +%</bidi-perpage.sty> +%<*biditools.sty> +%\fi +% \section{File \texttt{biditools.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{biditools}[2018/12/11 v1.9 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% + \else + \edef\@tempb{\meaning#2}% + \ifx\@tempa\@tempb + \else + \@latex@error{Unable to properly define \string#2; primitive + \noexpand#1no longer primitive}\@eha + \fi + \fi + \endgroup} +\newtoks\@bidi@envbody +\newtoks\@bidi@emptytoks +\def\bidi@addto@envbody#1{\global\@bidi@envbody\expandafter{\the\@bidi@envbody#1}} +\def\bidi@collect@body#1{% + \@bidi@envbody{\expandafter#1\expandafter{\the\@bidi@envbody}}% + \edef\bidi@process@envbody{\the\@bidi@envbody\noexpand\end{\@currenvir}}% + \@bidi@envbody\@bidi@emptytoks \def\begin@bidi@stack{b}% + \begingroup + \expandafter\let\csname\@currenvir\endcsname\bidi@collect@@body + \edef\bidi@process@envbody{\expandafter\noexpand\csname\@currenvir\endcsname}% + \bidi@process@envbody +} +\def\bidi@push@begins#1\begin#2{% + \ifx\end#2\else b\expandafter\bidi@push@begins\fi +} +\def\bidi@collect@@body#1\end#2{% + \edef\begin@bidi@stack{\bidi@push@begins#1\begin\end \expandafter\@gobble\begin@bidi@stack}% + \ifx\@empty\begin@bidi@stack + \endgroup + \@checkend{#2}% + \bidi@addto@envbody{#1}% + \else + \bidi@addto@envbody{#1\end{#2}}% + \fi + \bidi@process@envbody % A little tricky! Note the grouping +} +\long\def\bidi@addto@long@envbody#1{\global\@bidi@envbody\expandafter{\the\@bidi@envbody#1}} +\long\def\bidi@collect@long@body#1{% + \@bidi@envbody{\expandafter#1\expandafter{\the\@bidi@envbody}}% + \edef\bidi@process@envbody{\the\@bidi@envbody\noexpand\end{\@currenvir}}% + \@bidi@envbody\@bidi@emptytoks \def\begin@bidi@stack{b}% + \begingroup + \expandafter\let\csname\@currenvir\endcsname\bidi@collect@long@@body + \edef\bidi@process@envbody{\expandafter\noexpand\csname\@currenvir\endcsname}% + \bidi@process@envbody +} +\long\def\bidi@push@long@begins#1\begin#2{% + \ifx\end#2\else b\expandafter\bidi@push@long@begins\fi +} +\long\def\bidi@collect@long@@body#1\end#2{% + \edef\begin@bidi@stack{\bidi@push@long@begins#1\begin\end \expandafter\@gobble\begin@bidi@stack}% + \ifx\@empty\begin@bidi@stack + \endgroup + \@checkend{#2}% + \bidi@addto@long@envbody{#1}% + \else + \bidi@addto@long@envbody{#1\end{#2}}% + \fi + \bidi@process@envbody % A little tricky! Note the grouping +} +\long\def\bidi@new@ifnextchar#1#2#3{% + \let\reserved@d= #1% + \def\reserved@a{#2}\def\reserved@b{#3}% + \futurelet\@let@token\bidi@new@ifnch +} +\def\bidi@new@ifnch{% + \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi + \reserved@b +} +\def\bidi@matrix@check#1{% + \expandafter\ifx\csname\@currenvir\endcsname#1% + \else\bidi@matrix@error#1% + \expandafter\@gobble + \fi +} +\def\bidi@matrix@error#1{% + \PackageError{biditools}{% +Old form `\string#1' should be \string\begin{\expandafter\@gobble\string#1}% + }{% +`\string#1{...}' is old bidi package syntax whose use is +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 + \let#2\iffalse + \eq@if#1#2\iftrue + \eq@if#1#2\iffalse + \escapechar\count@} +\def\eq@if#1#2#3{% + \expandafter\def\csname\expandafter\@gobbletwo\string#1% + \expandafter\@gobbletwo\string#3\endcsname + {\let#1#3% + \let#2#3}% + \expandafter\def\csname\expandafter\@gobbletwo\string#2% + \expandafter\@gobbletwo\string#3\endcsname + {\let#2#3% + \let#1#3}} +\newcommand*{\SetBoolean}[2]{% + \lowercase{\def\@tempa{#2}}% + \@ifundefined{@tempswa\@tempa}% + {\PackageError{biditools}% + {You can only set a boolean to `true' or `false'}\@ehc}% + {\@ifundefined{#1\@tempa}% + {\PackageError{biditools}{Boolean #1 undefined}\@ehc}% + {\csname#1\@tempa\endcsname}}} +\newcommand*{\GlobalSetBoolean}[2]{% + \lowercase{\def\@tempa{#2}}% + \@ifundefined{@tempswa\@tempa}% + {\PackageError{biditools}% + {You can only set a boolean to `true' or `false'}\@ehc}% + {\@ifundefined{#1\@tempa}% + {\PackageError{biditools}{Boolean #1 undefined}\@ehc}% + {\global\csname#1\@tempa\endcsname}}} +\newcommand*{\SetatBoolean}[2]{% + \lowercase{\def\@tempa{#2}}% + \@ifundefined{@tempswa\@tempa}% + {\PackageError{biditools}% + {You can only set a boolean to `true' or `false'}\@ehc}% + {\@ifundefined{@#1\@tempa}% + {\PackageError{biditools}{Boolean @#1 undefined}\@ehc}% + {\csname @#1\@tempa\endcsname}}} +\newcommand*{\GlobalSetatBoolean}[2]{% + \lowercase{\def\@tempa{#2}}% + \@ifundefined{@tempswa\@tempa}% + {\PackageError{biditools}% + {You can only set a boolean to `true' or `false'}\@ehc}% + {\@ifundefined{@#1\@tempa}% + {\PackageError{biditools}{Boolean @#1 undefined}\@ehc}% + {\global\csname @#1\@tempa\endcsname}}} +\def\@bidi@removefromreset#1#2{{% + \expandafter\let\csname c@#1\endcsname\@bidi@removefromreset + \def\@elt##1{% + \expandafter\ifx\csname c@##1\endcsname\@bidi@removefromreset + \else + \noexpand\@elt{##1}% + \fi}% + \expandafter\xdef\csname cl@#2\endcsname{% + \csname cl@#2\endcsname}}} +\newcommand*{\ifRtoL}{% + \if@RTL + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\ifLtoR}{% + \if@RTL + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi} +\newcommand*{\ifRtoLtable}{% + \if@RTLtab + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\ifLtoRtable}{% + \if@RTLtab + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi} +\newcommand*{\ifRtoLhboxconstruct}{% + \if@hboxRconstruct + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\ifLtoRhboxconstruct}{% + \if@hboxRconstruct + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi} +\newcommand*{\iflatin}{% + \if@nonlatin + \expandafter\@secondoftwo + \else + \expandafter\@firstoftwo + \fi} +\newcommand*{\ifnonlatin}{% + \if@nonlatin + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\newcommand*{\bidi@@convert@dimen@t@unit}[2]{% + \strip@pt\dimexpr #1*65536/\dimexpr 1#2\relax #2} + +\newcommand*{\bidi@@convert@dimen@t@pt}[1]{% + \dimexpr #1*65536/\dimexpr 1pt\relax} + +\newcommand*{\if@bidi@csdef}[1]{% + \ifcsname#1\endcsname + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\if@bidi@csundef}[1]{% + \ifcsname#1\endcsname + \expandafter\ifx\csname#1\endcsname\relax + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@firstoftwo + \fi} +\newcommand{\if@bidi@def}[1]{% + \ifdefined#1% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand{\if@bidi@undef}[1]{% + \ifdefined#1% + \ifx#1\relax + \expandafter\expandafter + \expandafter\@firstoftwo + \else + \expandafter\expandafter + \expandafter\@secondoftwo + \fi + \else + \expandafter\@firstoftwo + \fi} +\newcommand{\if@bidi@blank}[1]{% from url.sty + \bidi@ifblank@i#1&&\@secondoftwo\@firstoftwo:} +\long\def\bidi@ifblank@i#1#2#4#5:{#4} +\newcommand{\bidi@notblank}[1]{% + \bidi@ifblank@i#1&&\@firstoftwo\@secondoftwo:} +\newcommand{\if@bidi@defmacro}{} +\long\edef\if@bidi@defmacro#1{% + \noexpand\expandafter\noexpand\bidi@ifdefmacro + \noexpand\meaning#1\detokenize{macro}:&} +\edef\bidi@ifdefmacro{% + \def\noexpand\bidi@ifdefmacro##1\detokenize{macro}:##2&} +\bidi@ifdefmacro{\bidi@notblank{#2}} +\newcommand*{\if@bidi@csmacro}[1]{% + \if@bidi@csdef{#1} + {\expandafter\if@bidi@defmacro\csname#1\endcsname} + {\@secondoftwo}} +\newcommand{\if@bidi@defprimitive}[1]{% + \ifprimitive#1% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand{\if@bidi@csprimitive}[1]{% + \begingroup\expandafter\expandafter\expandafter\endgroup% + \expandafter\ifprimitive\csname#1\endcsname% + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} +\newcommand*{\bidi@csdefcs}[2]{% +\expandafter\@ifdefinable \csname#1\endcsname{% +\expandafter\def\csname#1\expandafter\endcsname{\csname#2\endcsname}}} +\newcommand*{\bidi@csletcs}[2]{% +\expandafter\@ifdefinable \csname#1\endcsname{% +\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}} +\newcommand*{\bidi@cslet}[2]{% +\expandafter\@ifdefinable \csname#1\endcsname{% +\expandafter\let\csname#1\endcsname#2}} +\newcommand{\bidi@namelongdef}[1]{% + \long\expandafter\def\csname #1\endcsname} +\def\bidi@ensure@newcommand{\@star@or@long\bidi@ensure@new@command} +\def\bidi@ensure@new@command#1{% + \begingroup \escapechar\m@ne\xdef\@gtempa{{\string#1}}\endgroup + \expandafter\if@bidi@csundef\@gtempa + {\new@command#1}{\relax% + \let\@ifdefinable\@rc@ifdefinable% + \new@command#1}} +\def\bidi@ensure@newlength#1{\if@bidi@undef#1{\newskip#1}{}} + +\protected\def\bidi@error{\PackageError{bidi}} +\protected\def\bidi@warning{\PackageWarning{bidi}} +\protected\def\bidi@info{\PackageInfo{bidi}} + + +\newcommand*{\setbaselineskip}[1]{% + \linespread{\strip@pt\dimexpr\numexpr\dimexpr#1\relax*65536/\dimexpr\baselineskip\relax\relax sp\relax} + \selectfont +} + + +\newcommand*{\bidi@newrobustcmd}{} +\protected\def\bidi@newrobustcmd{\@star@or@long\bidi@new@command} + +\def\bidi@new@command#1{\@testopt{\bidi@newcommand#1}0} + +\def\bidi@newcommand#1[#2]{% + \@ifnextchar[%] + {\bidi@xargdef#1[#2]} + {\ifx\l@ngrel@x\relax + \let\l@ngrel@x\protected + \else + \protected\def\l@ngrel@x{\protected\long}% + \fi + \@argdef#1[#2]}} + +\long\def\bidi@xargdef#1[#2][#3]#4{% + \@ifdefinable#1{% + \expandafter\protected + \expandafter\def + \expandafter#1% + \expandafter{% + \expandafter\@testopt + \csname\string#1\endcsname{#3}}% + \expandafter\@yargdef\csname\string#1\endcsname\tw@{#2}{#4}}} + +\bidi@newrobustcmd*{\bidi@renewrobustcmd}{\@star@or@long\bidi@renew@command} + +\def\bidi@renew@command#1{% + \if@bidi@undef{#1} + {\bidi@error{\string#1 undefined}\@ehc} + {}% + \let\@ifdefinable\@rc@ifdefinable + \bidi@new@command#1} + + + +\bidi@newrobustcmd*{\bidi@providerobustcmd}{\@star@or@long\bidi@provide@command} + +\def\bidi@provide@command#1{% + \if@bidi@undef{#1} + {\def\reserved@a{\bidi@new@command#1}} + {\def\reserved@a{\bidi@renew@command\reserved@a}}% + \reserved@a} + +\newcommand*{\bidi@csuse}[1]{% + \ifcsname#1\endcsname + \csname#1\expandafter\endcsname + \fi} + +\newcommand{\bidi@expandonce}[1]{% + \unexpanded\expandafter{#1}} + +\def\bidi@protected{% + \let\@@protect\protect + \let\protect\@unexpandable@protect + \afterassignment\restore@protect} + +\bidi@newrobustcmd{\bidi@appto}[2]{% + \if@bidi@undef{#1} + {\edef#1{\unexpanded{#2}}} + {\edef#1{\bidi@expandonce#1\unexpanded{#2}}}} +\bidi@newrobustcmd{\bidi@eappto}[2]{% + \if@bidi@undef{#1} + {\edef#1{#2}} + {\edef#1{\bidi@expandonce#1#2}}} +\bidi@newrobustcmd{\bidi@gappto}[2]{% + \if@bidi@undef{#1} + {\xdef#1{\unexpanded{#2}}} + {\xdef#1{\bidi@expandonce#1\unexpanded{#2}}}} +\bidi@newrobustcmd{\bidi@xappto}[2]{% + \if@bidi@undef{#1} + {\xdef#1{#2}} + {\xdef#1{\bidi@expandonce#1#2}}} + +\bidi@newrobustcmd*{\bidi@protected@eappto}{\bidi@protected\bidi@eappto} +\bidi@newrobustcmd*{\bidi@protected@xappto}{\bidi@protected\bidi@xappto} + + + +\bidi@newrobustcmd{\bidi@preto}[2]{% + \if@bidi@undef{#1} + {\edef#1{\unexpanded{#2}}} + {\edef#1{\unexpanded{#2}\bidi@expandonce#1}}} +\bidi@newrobustcmd{\bidi@epreto}[2]{% + \if@bidi@undef{#1} + {\edef#1{#2}} + {\edef#1{#2\bidi@expandonce#1}}} +\bidi@newrobustcmd{\bidi@gpreto}[2]{% + \if@bidi@undef{#1} + {\xdef#1{\unexpanded{#2}}} + {\xdef#1{\unexpanded{#2}\bidi@expandonce#1}}} +\bidi@newrobustcmd{\bidi@xpreto}[2]{% + \if@bidi@undef{#1} + {\xdef#1{#2}} + {\xdef#1{#2\bidi@expandonce#1}}} + +\bidi@newrobustcmd*{\bidi@protected@epreto}{\bidi@protected\bidi@epreto} +\bidi@newrobustcmd*{\bidi@protected@xpreto}{\bidi@protected\bidi@xpreto} + + + +\bidi@newrobustcmd*{\bidi@csappto}[1]{\expandafter\bidi@appto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@cseappto}[1]{\expandafter\bidi@eappto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@csgappto}[1]{\expandafter\bidi@gappto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@csxappto}[1]{\expandafter\bidi@xappto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@protected@cseappto}{\bidi@protected\bidi@cseappto} +\bidi@newrobustcmd*{\bidi@protected@csxappto}{\bidi@protected\bidi@csxappto} + + + +\bidi@newrobustcmd*{\bidi@cspreto}[1]{\expandafter\bidi@preto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@csepreto}[1]{\expandafter\bidi@epreto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@csgpreto}[1]{\expandafter\bidi@gpreto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@csxpreto}[1]{\expandafter\bidi@xpreto\csname#1\endcsname} +\bidi@newrobustcmd*{\bidi@protected@csepreto}{\bidi@protected\bidi@csepreto} +\bidi@newrobustcmd*{\bidi@protected@csxpreto}{\bidi@protected\bidi@csxpreto} + + + +\bidi@newrobustcmd{\if@bidi@patchable}{% + \bidi@dbg@trce\if@bidi@patchable + \begingroup + \@makeother\#% + \@ifstar\bidi@ifpatchable@i\bidi@ifpatchable} + +\long\def\bidi@ifpatchable#1#2{% + \endgroup + \bidi@dbg@init#1% + \if@bidi@undef{#1} + {\bidi@dbg@fail{def}\@secondoftwo} + {\bidi@dbg@info{def}% + \if@bidi@defmacro{#1} + {\bidi@dbg@info{mac}% + \bidi@ifscanable{#1} + {\bidi@ifhashcheck{#2} + {\bidi@dbg@info{tok}% + \bidi@ifpattern#1{#2} + {\bidi@dbg@info{pat}% + \bidi@dbg@info{pos}\@firstoftwo} + {\bidi@dbg@fail{pat}\@secondoftwo}} + {\bidi@dbg@fail{hsh}\@secondoftwo}} + {\bidi@dbg@fail{tok}\@secondoftwo}} + {\bidi@dbg@fail{mac}\@secondoftwo}}} + +\long\def\bidi@ifpatchable@i#1{% + \endgroup + \bidi@dbg@init#1% + \if@bidi@undef{#1} + {\bidi@dbg@fail{def}\@secondoftwo} + {\bidi@dbg@info{def}% + \if@bidi@defmacro{#1} + {\bidi@dbg@info{mac}% + \if@bidi@defparam{#1} + {\bidi@dbg@info{prm}% + \bidi@ifscanable{#1} + {\bidi@dbg@info{tok}% + \bidi@dbg@info{pos}\@firstoftwo} + {\bidi@dbg@fail{tok}\@secondoftwo}} + {\bidi@dbg@info{prl}% + \if@bidi@defprotected{#1} + {\bidi@dbg@info{pro}} + {}% + \bidi@dbg@info{pos}\@firstoftwo}} + {\bidi@dbg@fail{mac}\@secondoftwo}}} + +\bidi@newrobustcmd*{\bidi@patchcmd}{% + \bidi@dbg@trce\bidi@patchcmd + \begingroup + \@makeother\#% + \bidi@@patchcmd} + +\newcommand{\bidi@@patchcmd}[4][########1]{% + \bidi@ifpatchable#2{#3} + {\bidi@dbg@succ{ret}% + \begingroup + \edef\bidi@resrvda{% + \def\noexpand\bidi@resrvda####1\detokenize{macro:}####2->####3&{% + #1\def\string\bidi@resrvda\space####2{\noexpand\bidi@resrvdb####3&}}% + \def\noexpand\bidi@resrvdb####1\detokenize{#3}####2&{% + ####1\detokenize{#4}####2}% + \edef\noexpand\bidi@resrvda{% + \noexpand\bidi@resrvda\meaning#2&}}% + \bidi@resrvda + \bidi@patchcmd@scantoks\bidi@resrvda + \let#2\bidi@resrvda + \bidi@undef\bidi@resrvda + \@firstoftwo} + {\@secondoftwo}} + +\def\bidi@patchcmd@scantoks#1{% + \edef\bidi@resrvda{\endgroup + \unexpanded{\makeatletter\scantokens}{#1}% + \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{% + \def\noexpand\bidi@resrvda####1\detokenize{macro}:####2->####3&{% + ####1\def\string\bidi@resrvda####2{####3}}% + \edef\noexpand\bidi@resrvda{\noexpand\bidi@resrvda\meaning#1&}}% + \bidi@resrvda + \makeatletter + \scantokens\expandafter{\bidi@resrvda}% + \expandafter\endgroup\ifx#1\bidi@resrvda + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + + +\protected\long\def\bidi@ifhashcheck#1{% + \begingroup + \edef\bidi@resrvda{\detokenize{#1}}% + \expandafter\endgroup + \expandafter\bidi@ifhashcheck@i\meaning\bidi@resrvda&} + +\edef\bidi@ifhashcheck@i#1&{% + \noexpand\expandafter + \noexpand\bidi@ifhashcheck@ii + \noexpand\strip@prefix#1\string#\string#&} + +\edef\bidi@ifhashcheck@ii{% + \def\noexpand\bidi@ifhashcheck@ii##1\string#\string###2&} +\bidi@ifhashcheck@ii{\if@bidi@blank{#2}} + + +\protected\long\def\bidi@ifpattern#1#2{% + \begingroup + \edef\bidi@resrvda{% + \def\noexpand\bidi@resrvda####1\detokenize{#2}####2&{% + \endgroup\noexpand\noexpand\noexpand\if@bidi@blank{####2}}% + \edef\noexpand\bidi@resrvda{\noexpand\bidi@resrvda + \expandafter\strip@prefix\meaning#1\detokenize{#2}&}% + \noexpand\bidi@resrvda} + \bidi@resrvda\@secondoftwo\@firstoftwo} + + +\newcommand{\if@bidi@defparam}{} +\long\edef\if@bidi@defparam#1{% + \noexpand\expandafter\noexpand\bidi@ifdefparam + \noexpand\meaning#1\detokenize{macro}:->&} +\edef\bidi@ifdefparam{% + \def\noexpand\bidi@ifdefparam##1\detokenize{macro}:##2->##3&} +\bidi@ifdefparam{\bidi@notblank{#2}} + + +\newcommand{\if@bidi@defprotected}{} +\long\edef\if@bidi@defprotected#1{% + \noexpand\expandafter\noexpand\bidi@ifdefprotected + \noexpand\meaning#1\string\protected&} +\edef\bidi@ifdefprotected{% + \def\noexpand\bidi@ifdefprotected##1\string\protected##2&} +\bidi@ifdefprotected{\bidi@notblank{#2}} + + +\bidi@newrobustcmd{\bidi@undef}[1]{\let#1\bidi@undefined} + +\let\bidi@dbg@trce\@gobble +\let\bidi@dbg@init\@gobble +\let\bidi@dbg@info\@gobble +\let\bidi@dbg@succ\@gobble +\let\bidi@dbg@fail\@gobble + + + +\bidi@newrobustcmd*{\bidi@apptocmd}{% + \bidi@dbg@trce\bidi@apptocmd + \begingroup + \@makeother\#% + \bidi@hooktocmd\bidi@append} + + + +\bidi@newrobustcmd*{\bidi@pretocmd}{% + \bidi@dbg@trce\bidi@pretocmd + \begingroup + \@makeother\#% + \bidi@hooktocmd\bidi@prepend} + +\long\def\bidi@hooktocmd#1#2#3{% + \endgroup + \bidi@dbg@init#2% + \if@bidi@undef{#2} + {\bidi@dbg@fail{def}\@secondoftwo} + {\bidi@dbg@info{def}% + \if@bidi@defmacro{#2} + {\bidi@dbg@info{mac}% + \if@bidi@defparam{#2} + {\bidi@dbg@info{prm}% + \bidi@ifscanable{#2} + {\bidi@ifhashcheck{#3} + {\bidi@dbg@info{tok}% + \bidi@dbg@succ{ret}% + \bidi@hooktocmd@i#1#2{#3}% + \@firstoftwo} + {\bidi@dbg@fail{hsh}\@secondoftwo}} + {\bidi@dbg@fail{tok}\@secondoftwo}} + {\bidi@dbg@info{prl}% + \if@bidi@defprotected{#2} + {\bidi@dbg@info{pro}% + \bidi@dbg@succ{red}% + \protected} + {\bidi@dbg@succ{red}}% + \edef#2{#1{\bidi@expandonce#2}{\unexpanded{#3}}}% + \@firstoftwo}} + {\bidi@dbg@fail{mac}\@secondoftwo}}} + +\long\def\bidi@hooktocmd@i#1#2#3{% + \begingroup + \edef\bidi@resrvda{% + \def\noexpand\bidi@resrvda####1\detokenize{macro}:####2->####3&{% + ####1\def\string\bidi@resrvda\space####2{#1{####3}{\detokenize{#3}}}}% + \edef\noexpand\bidi@resrvda{% + \noexpand\bidi@resrvda\meaning#2&}}% + \bidi@resrvda + \bidi@patchcmd@scantoks\bidi@resrvda + \let#2\bidi@resrvda + \bidi@undef\bidi@resrvda} + +\long\def\bidi@append#1#2{#1#2} +\long\def\bidi@prepend#1#2{#2#1} + +\bidi@newrobustcmd*{\bidi@AtEndPreamble}{\bidi@gappto\bidi@endpreamblehook} +\newcommand*{\bidi@endpreamblehook}{} + +\bidi@newrobustcmd*{\bidi@BeforeOutputPageShipOut}{\bidi@gappto\bidi@beforeoutputpageshipouthook} +\newcommand*{\bidi@beforeoutputpageshipouthook}{} + +\bidi@newrobustcmd*{\bidi@BeforeHeader}{\bidi@gappto\bidi@beforeheaderhook} +\newcommand*{\bidi@beforeheaderhook}{} + +\bidi@newrobustcmd*{\bidi@BeforeOutputBoxOutputPage}{\bidi@gappto\bidi@beforeoutputboxoutputpagehook} +\newcommand*{\bidi@beforeoutputboxoutputpagehook}{} + +\bidi@newrobustcmd*{\bidi@AfterOutputBoxOutputPage}{\bidi@gappto\bidi@afteroutputboxoutputpagehook} +\newcommand*{\bidi@afteroutputboxoutputpagehook}{} + +\bidi@newrobustcmd*{\bidi@BeforeFooter}{\bidi@gappto\bidi@beforefooterhook} +\newcommand*{\bidi@beforefooterhook}{} + +\bidi@newrobustcmd*{\bidi@AfterFooter}{\bidi@gappto\bidi@afterfooterhook} +\newcommand*{\bidi@afterfooterhook}{} + + +\bidi@newrobustcmd*{\bidi@AfterOutputPageShipOut}{\bidi@gappto\bidi@afteroutputpageshipouthook} +\newcommand*{\bidi@afteroutputpageshipouthook}{} + +\bidi@newrobustcmd*{\bidi@AtEndOutputPage}{\bidi@gappto\bidi@atendoutputpagehook} +\newcommand*{\bidi@atendoutputpagehook}{} + +\bidi@preto\document{% + \endgroup + \let\bidi@AtEndPreamble\@firstofone + \bidi@endpreamblehook + \protected\def\bidi@AtEndPreamble{\@notprerr\@gobble}% + \bidi@undef\bidi@endpreamblehook + \begingroup} + +\bidi@newrobustcmd*{\bidi@AfterPreamble}{\AtBeginDocument} +\bidi@AtEndPreamble{\let\bidi@AfterPreamble\@firstofone} + +\bidi@newrobustcmd*{\bidi@AfterEndPreamble}{\bidi@gappto\bidi@afterendpreamblehook} +\newcommand*{\bidi@afterendpreamblehook}{} + +\bidi@appto\document{% + \let\bidi@AfterEndPreamble\@firstofone + \bidi@afterendpreamblehook + \protected\def\bidi@AfterEndPreamble{\@notprerr\@gobble}% + \bidi@undef\bidi@afterendpreamblehook + \ignorespaces} + +\bidi@newrobustcmd*{\bidi@AfterEndDocumentCheckLabelsRerun}{\bidi@gappto\bidi@afterenddocumentchecklabelsrerunhook} +\newcommand*{\bidi@afterenddocumentchecklabelsrerunhook}{} + +\bidi@patchcmd\enddocument + {\fi\endgroup} + {\let\bidi@AfterEndDocumentCheckLabelsRerun\@firstofone + \bidi@afterenddocumentchecklabelsrerunhook + \fi\endgroup} + {} + {\PackageWarning{biditools}{Patching `\string\enddocument' failed}} + +\AtEndDocument{\let\bidi@AfterEndPreamble\@gobble} + +\bidi@newrobustcmd*{\bidi@AfterLastShipout}{\bidi@gappto\bidi@afterlastshipouthook} +\newcommand*{\bidi@afterlastshipouthook}{} + +\bidi@patchcmd\enddocument + {\clearpage} + {\clearpage + \let\bidi@AfterLastShipout\@firstofone + \bidi@afterlastshipouthook} + {} + {\let\bidi@clearpage\clearpage + \def\clearpage{% + \bidi@clearpage + \let\bidi@AfterLastShipout\@firstofone + \bidi@afterlastshipouthook}} + +\bidi@newrobustcmd*{\bidi@AfterEndDocument}{\bidi@gappto\bidi@afterenddocumenthook} +\newcommand*{\bidi@afterenddocumenthook}{} + +\bidi@patchcmd\enddocument + {\deadcycles} + {\let\bidi@AfterEndDocument\@firstofone + \bidi@afterenddocumenthook + \deadcycles} + {} + {\let\bidi@@end\@@end + \def\@@end{% + \let\bidi@AfterEndDocument\@firstofone + \bidi@afterenddocumenthook + \bidi@@end}} + +\bidi@newrobustcmd{\bidi@AtBeginEnvironment}[1]{% + \bidi@csgappto{@bidi@begin@#1@hook}} + +\bidi@patchcmd\begin + {\csname #1\endcsname} + {\bidi@csuse{@bidi@begin@#1@hook}% + \csname #1\endcsname} + {} + {\bidi@warning{% + Patching '\string\begin' failed!\MessageBreak + '\string\bidi@AtBeginEnvironment' will not work\@gobble}} + + + +\bidi@newrobustcmd{\bidi@AtEndEnvironment}[1]{% + \bidi@csgappto{@bidi@end@#1@hook}} + +\bidi@patchcmd\end + {\csname end#1\endcsname} + {\bidi@csuse{@bidi@end@#1@hook}% + \csname end#1\endcsname} + {} + {\bidi@warning{% + Patching '\string\end' failed!\MessageBreak + '\string\bidi@AtEndEnvironment' will not work\@gobble}} + + + +\bidi@newrobustcmd{\bidi@BeforeBeginEnvironment}[1]{% + \bidi@csgappto{@bidi@beforebegin@#1@hook}} + +\bidi@pretocmd\begin + {\bidi@csuse{@bidi@beforebegin@#1@hook}} + {} + {\bidi@warning{% + Patching '\string\begin' failed!\MessageBreak + '\string\bidi@BeforeBeginEnvironment' will not work\@gobble}} + + + +\bidi@newrobustcmd{\bidi@AfterEndEnvironment}[1]{% + \bidi@csgappto{@bidi@afterend@#1@hook}} + +\bidi@patchcmd\end + {\if@ignore} + {\bidi@csuse{@bidi@afterend@#1@hook}% + \if@ignore} + {} + {\bidi@warning{% + Patching '\string\end' failed!\MessageBreak + '\string\bidi@AfterEndEnvironment' will not work\@gobble}} + +\def\bidi@namedef#1{\expandafter\def\csname #1\endcsname} +\def\bidi@namegdef#1{\expandafter\gdef\csname #1\endcsname} +\def\bidi@nameedef#1{\expandafter\edef\csname #1\endcsname} +\def\bidi@namexdef#1{\expandafter\xdef\csname #1\endcsname} + +% From David Carlisle: +% The \@stpelt redefinition below belongs to Heiko Oberdiek +% See also https://github.com/ho-tex/oberdiek/issues/26 + +\let\@bidi@stepcounter\stepcounter +\let\@bidi@@stpelt\@stpelt + +\def\@stpelt#1{% + \ifcsname bidi@reset@#1@perpage\endcsname + \begingroup + \let\stepcounter\@bidi@stepcounter + \@bidi@@stpelt{#1}% + \endgroup + \expandafter\@gobbletwo + \fi + \@bidi@@stpelt{#1}% +} + +\bidi@pretocmd\stepcounter + {% + \if@bidi@csundef{bidi@stepcounterhook@@#1}{}{% + \csname bidi@stepcounterhook@@#1\endcsname + }% + }{}% + {\PackageWarning{biditools}{Patching `\string\stepcounter' failed}} + +\chardef\bidi@backslash`\\ +\def\bidics#1{\texttt{\char\bidi@backslash#1}} + +% anonymous control sequences +\newcount\bidi@tempcountb +\newtoks\bidi@temptoksa +\newtoks\bidi@temptoksb + +% Catcode (re)storing +% +\def\bidi@storecatcode#1% + {\escapechar\m@ne + \bidi@csarg\edef{bidi@restorecatcode\string#1}% + {\catcode`\string#1= + \the\catcode\expandafter`\string#1}% + \catcode\expandafter`\string#1=12\relax + \escapechar`\\\relax} +\def\bidi@restorecatcode#1% + {\escapechar\m@ne + \csname bidi@restorecatcode\string#1\endcsname + \escapechar`\\\relax} + +% Construct a control sequence inside \edef +% +\def\bidi@csname#1{\expandafter\noexpand\csname#1\endcsname} + +% Construct a control sequence out of #2, and give it to #1 +% +\def\bidi@csarg#1#2{\expandafter#1\csname#2\endcsname} + +% Pick an escapecharacter +% this presumes that its argument is a character. +% +\def\bidi@pickescape#1{\ifnum`#1=\escapechar\else#1\fi} + +% Equality of strings. +% the fast approach: does not work in expansion-only environment. +% +\def\bidi@EqualString#1#2{00\fi\def\bidi@eqs@a{#1}\def\bidi@eqs@b{#2}% + \ifx\bidi@eqs@a\bidi@eqs@b} + +% Test by expansion only +% +\def\bidi@EqualStringX#1#2{00\fi + \csname if\@bidi@EqualStringX#1&$#2&$\endcsname} +\def\@bidi@EqualStringX#1#2$#3#4${\ifx#1#3% + \ifx#1&true\else\bidi@hop@ES\@bidi@EqualStringX#2$#4$\fi + \else false\fi} +\def\bidi@hop@ES#1\fi#2\fi{\fi\fi#1} + +% Lexicographic ordering +% note the use of \def +% also note the characters 0,127,255 that are used, +% these are not supposed to appear in the strings +% +{\catcode0=12 \catcode255=12 \catcode127=12 +\gdef\bidi@StringBeforeNC#1#2{00\fi + \bidi@CharsBefore#1^^@^^?#2^^ff^^?} +\gdef\bidi@CharsBeforeNC#1#2^^?#3#4^^?{% + \ifcat#1\relax\def\bidi@next{\bidi@CharsBefore#2^^@^^?#3#4^^ff^^?}% + \else\ifcat#3\relax\def\bidi@next{\bidi@CharsBefore#1#2^^@^^?#4^^ff^^?}% + \else\ifnum\lccode`#1<\lccode`#3 + \def\bidi@next{\csname iftrue\endcsname}% + \else\ifnum\lccode`#1>\lccode`#3 + \def\bidi@next{\csname iffalse\endcsname}% + \else\def\bidi@next{\bidi@CharsBefore#2^^?#4^^?}% + \fi \fi \fi \fi + \bidi@next} +\gdef\bidi@StringBefore#1#2{00\fi + \bidi@CharsBefore#1^^@^^?#2^^ff^^?} +\gdef\bidi@CharsBefore#1#2^^?#3#4^^?{% + \ifnum`#1<`#3 + \def\bidi@next{\csname iftrue\endcsname}% + \else\ifnum`#1>`#3 + \def\bidi@next{\csname iffalse\endcsname}% + \else\def\bidi@next{\bidi@CharsBefore#2^^?#4^^?}% + \fi\fi + \bidi@next} +} + +% Null argument test +% +\def\bidi@empty{} +\def\bidi@ifempty#1{00\fi\expandafter\ifx\csname bidi@#1@null\endcsname\bidi@@null} +\def\bidi@ifEmptyX#1{\expandafter\ifx\csname bidi@#1@null\endcsname\bidi@@null} +%\def\bidi@ifEmpty#1{\def\bidi@cs@a{#1}\ifx\bidi@cs@a\bidi@empty} +\def\bidi@IsEmptyList#1{00\fi\def\bidi@cs@a{#1}\ifx\cs@a\bidi@empty} + +% Next character test +% +\def\bidi@NextChar#1#2#3{00\fi + \let\bidi@nxt@ch#1\def\bidi@nxt@a{#2}\def\bidi@nxt@b{#3}% + \futurelet\bidi@nxt@c\@bidi@ifnxtc} +\def\bidi@ifNextChar#1#2#3{% + \let\bidi@nxt@ch#1\def\bidi@nxt@a{#2}\def\bidi@nxt@b{#3}% + \futurelet\bidi@nxt@c\@bidi@ifnxtc} +\def\@bidi@ifnxtc{\ifx\bidi@nxt@ch\bidi@nxt@c \expandafter\bidi@nxt@a + \else \expandafter\bidi@nxt@b \fi} + +% Test for defined-ness of string as control sequence. +% works inside \edef +% +\def\bidi@undefinedcs#1{00\fi\bidi@csarg\ifx{#1}\relax} + +% Define uniquely defined dummy macros, +% usually to serve as bumper blocks at the end of a list +% +\newcount\bidi@dummies +\def\DefNewDummy#1{ + \if\bidi@undefinedcs{#1}\bidi@csarg\edef{#1}{bidi@dum\the\bidi@dummies} + \advance\bidi@dummies\@ne + \else + \bidi@error{Attempt at second definition of `#1'} + \fi} + +% string case statement +% use: \bidi@switch \iftest{...} in: +% item1 action1 +% ... +% itemn actionn +% default defaultaction [optional] +% \endbidi@switch +% inspired by Jonathan Fine: Some Basic Control Macros +% Tugboat 12 #4 +% +\let\@bidi@fi\fi \let\endbidi@switch\relax \DefNewDummy{bidi@default} +\def\bidi@switch@exit #1 \@bidi@fi #2 \endbidi@switch {\fi #1} +\def\bidi@switch #1#2#3{\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1{#2}\bidi@switch@exit #3 \@bidi@fi + \bidi@switch {#1} +} +% this version puts the test object in {} +\def\bidi@oswitch #1 in: #2 #3; {\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1{#2}\bidi@switch@exit #3 \@bidi@fi + \bidi@switch #1 in: +} +% this version assumes that the test object is just one character +\def\bidi@cswitch #1 in: #2 #3; {\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1#2\bidi@switch@exit #3 \@bidi@fi + \bidi@cswitch #1 in: +} +% this version assumes that the test object can have an optional space +\def\bidi@bswitch #1 in: #2 #3; {\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1#2 \bidi@switch@exit #3 \@bidi@fi + \bidi@bswitch #1 in: +} +% this version can cope with significant spaces at the start of #3; +% #2 is macro argument +\def\bidi@mswitch #1 in: #2:#3; {\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1{#2}\bidi@switch@exit #3 \@bidi@fi + \bidi@mswitch #1 in: +} +% idem; #2 does not have to be enclosed in braces +\def\bidi@fswitch #1 in: #2:#3; {\bidi@csarg\ifx{#2}\bidi@default\bidi@switch@exit #3 \@bidi@fi + #1#2 \bidi@switch@exit #3 \@bidi@fi + \bidi@fswitch #1 in: +} + +% Routines for taking the value of a string: +% if the string is defined as control sequence +% take the value of that, otherwise take the string itself + +% String or value of control sequence +% +\def\bidi@w@w#1{\if\bidi@undefinedcs{#1}#1\else \the\csname#1\endcsname\fi} + +% String or control sequence +% +\def\@bidi@ww#1{\if\bidi@undefinedcs{#1}#1\else \csname#1\endcsname \fi} + +% String or \noexpand-ed control sequence; +% for use in \edef +% +\newif\ifbidi@in@label +\def\@bidi@w@w#1{\if\bidi@undefinedcs{#1}#1\else + \ifbidi@in@label\noexpand\protect\fi \bidi@csname{#1}\fi} +\newtoks\bidi@are@these@correct +\def\bidi@t@w@w#1{% + \if\bidi@undefinedcs{#1}#1% + \ifdefining\bidi@append@to@list\bidi@are@these@correct{#1 }\fi + \else + \ifin@label\noexpand\protect\fi \bidi@csname{#1}\fi} + +% List Manipulation ................ +% this assumes that #1 is a list of tokens, #2 is the name of a list +% +% Names of lists (and of items to pop into) are given as strings; +% not as control sequences. +% +\newtoks\bidi@toks@lista \newtoks\bidi@toks@listb +% basic append/prepend macro +\long\def\@bidi@append@to@cslist#1#2#3{\begingroup\bidi@toks@lista=#2{#3}% + \global#1=\expandafter\expandafter\expandafter{\expandafter\the\expandafter#1\the\bidi@toks@lista}\endgroup} +\long\def\@bidi@prepend@to@cslist#1#2#3{\begingroup\bidi@toks@lista=#2{#3}% + \global#1=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\bidi@toks@lista\the#1}\endgroup} +\def\@bidi@append@to@list{\bidi@csarg\@bidi@append@to@cslist} +\def\@bidi@prepend@to@list{\bidi@csarg\@bidi@prepend@to@cslist} +% variations: +\long\def\bidi@append@to@list#1#2{\@bidi@append@to@list{#1}{}{#2}} +\long\def\bidi@prepend@to@list#1#2{\@bidi@prepend@to@list{#1}{}{#2}} +\def\bidi@append@list@to@list#1#2{% + \@bidi@append@to@list{#1}{\expandafter\expandafter\expandafter}{\expandafter\the\csname#2\endcsname}} +\def\bidi@prepend@list@to@list#1#2{% + \@bidi@prepend@to@list{#1}{\expandafter\expandafter\expandafter}{\expandafter\the\csname#2\endcsname}} +\def\bidi@append@cslist@to@cslist#1#2{% + \@bidi@append@to@cslist{#1}\expandafter{\the#2}} +\def\bidi@prepend@cslist@to@cslist#1#2{% + \@bidi@prepend@to@cslist{#1}\expandafter{\the#2}} +\def\bidi@append@toks@cs@to@list#1#2{\@bidi@append@to@list{#1}\expandafter{\the#2}} +\def\bidi@prepend@toks@cs@to@list#1#2{\@bidi@prepend@to@list{#1}\expandafter{\the#2}} + +\let\bidi@willbeunhskip\unhskip + +% A few list macros for the user +\def\NewTokenList:#1 {\bidi@csarg\newtoks{#1}\global\csname#1\endcsname{}} +\def\EmptyTokenList:#1 {\global\csname#1\endcsname{}} +\long\def\AppendToTokenList:#1=#2 {\@bidi@append@to@list{#1}{}{#2}} +\long\def\PrependToTokenList:#1=#2 {\@bidi@prepend@to@list{#1}{}{#2}} +\def\TheTokenList:#1 {\let\bidi@oldwbuskip\bidi@willbeunhskip \let\bidi@willbeunhskip\@empty + \if\bidi@undefinedcs{#1}\bidi@error{Token List <#1> undefined} + \else\bidi@csarg\the{#1}\fi + \let\bidi@willbeunhskip\bidi@oldwbuskip} + +\def\bidi@del@tok@from@list#1#2{\begingroup + \long\def\bidi@cs@liste##1#2##2\bidi@tok@SM + {\bidi@toks@lista{##1}\bidi@toks@listb{##2}% + \edef\bidi@cs@listb{\global\bidi@csname{#1}= + {\the\bidi@toks@lista\the\bidi@toks@listb}}% + \bidi@cs@listb}% + \edef\bidi@cs@lista{\noexpand\bidi@cs@liste{}\expandafter\the\csname#1\endcsname\noexpand\bidi@tok@SM}% + \bidi@cs@lista \endgroup} +\def\bidi@in@front@of@list#1{\bidi@csarg{\let\expandafter\bidi@cs@lista}{#1}% + \bidi@in@front@of@cslist\bidi@cs@lista} +\long\def\bidi@in@front@of@cslist#1#2{\begingroup\bidi@toks@lista={#2}% + \global#1=\expandafter\expandafter\expandafter{\expandafter\the\expandafter\bidi@toks@lista \the#1}% + \endgroup} +\long\def\bidi@local@in@front@of@list#1#2{\bidi@toks@lista={#2}% + \csname#1\endcsname\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter + {\expandafter\expandafter\expandafter\the\expandafter\expandafter\expandafter\bidi@toks@lista + \expandafter\the\csname#1\endcsname}% + } +\def\bidi@set@list#1{\bidi@csarg{\let\expandafter\bidi@cs@lista}{#1}% + \bidi@set@cslist\bidi@cs@lista} +\long\def\bidi@set@cslist#1#2{\begingroup\bidi@toks@lista={#2}% + \global#1=\expandafter{\the\bidi@toks@lista}\endgroup} + +%%%%%%%%%%%%%%%% Stack macros +% +% push in terms of prepending of lists +\def\bidi@push@cs@onto@cs#1#2{\@bidi@prepend@to@cslist#1\expandafter{\expandafter\\\expandafter{\the#2}}} +\def\bidi@push@onto#1{\bidi@csarg\bidi@push@onto@cs{#1}} +\def\bidi@push@onto@cs#1#2{\@bidi@prepend@to@cslist#1{}{\\{#2}}} +\def\bidi@local@push@onto#1#2{\let\\=\relax + \bidi@local@in@front@of@list{#1}{\\{#2}}} +% pop via auxiliary macro: #1 is result, #2 is stack +% two cs arguments +\def\bidi@pop@cs@into#1#2{\edef\bidi@cs@e + {\noexpand\@@bidi@popinto\noexpand#1\noexpand#2\the#2\noexpand\@@bidi@pop}\bidi@cs@e} +% two string arguments +\def\bidi@pop@into#1#2{\edef\bidi@cs@e + {\noexpand\@@bidi@popinto\bidi@csname{#1}\bidi@csname{#2}\bidi@csarg\the{#2}\noexpand\@@bidi@pop}\bidi@cs@e} +\long\def\@@bidi@popinto#1#2\\#3#4\@@bidi@pop{#1{#3}#2{#4}} +\def\bidi@copy@stacktop#1#2{% + \edef\bidi@cs@e{\noexpand\@bidi@copy@stacktop + {#1}\bidi@csarg\the{#2}\noexpand\@@bidi@pop}% + \bidi@cs@e} +\def\@bidi@copy@stacktop#1\\#2#3\@@bidi@pop{\csname#1\endcsname#2\relax} +\newcount\bidi@stack@length \newtoks\bidi@empty@stack \bidi@empty@stack{\\{}} +\def\bidi@length@of@stack#1{\bidi@csarg\bidi@length@of@csstack{#1}} +\def\bidi@length@of@csstack#1{\def\\##1{\advance\bidi@stack@length\@ne}% + \bidi@stack@length\m@ne \the#1} +% turn a stack upside down +\def\bidi@invert@csstack#1{\bidi@length@of@csstack{#1}% + \bidi@tempcountb\z@ \bidi@temptoksa\bidi@empty@stack + \loop\ifnum\bidi@tempcountb<\bidi@stack@length + \bidi@pop@cs@into\bidi@temptoksb#1\advance\bidi@stack@length\m@ne + \bidi@push@cs@onto@cs\bidi@temptoksa\bidi@temptoksb +% \bidi@append@cslist@to@cslist\bidi@temptoksb\bidi@temptoksa% append a to b +% \bidi@temptoksa\bidi@temptoksb + \repeat% copy b to a + #1\bidi@temptoksa \bidi@temptoksa\bidi@empty@toks} +% invert a stack into a list +\def\bidi@x@stack@to@list#1{\bidi@length@of@stack{#1}% + \bidi@tempcountb\z@ \bidi@temptoksa\bidi@empty@toks + \loop\ifnum\bidi@tempcountb<\bidi@stack@length + \bidi@pop@into{bidi@temptoksb}{#1}\advance\bidi@stack@length\m@ne + \bidi@append@list@to@list{bidi@temptoksb}{bidi@temptoksa}\repeat + \csname#1\endcsname\bidi@temptoksa \bidi@temptoksa\bidi@empty@toks} + + +% General loop macro: +% \looprepeat +% \forvariable{<var>} \fromvalue{<start>} \bystep{<step>} \tovalue{<end>} \downtovalue{<end>} +% \untilcondition{<cond>} \whilecondition{<cond>} +% \doloopbody { <loop body> } +% where all control sequences in between \looprepeat and \doloopbody are optional. +% +% var: characters to form a control sequence; +% after \forvariable{index} you can access the loop counter as \index. +% This is a count register; to print it use \number\index. +% start,step,end: integers with obvious relations to the loop counter; +% start and step have a default value of 1 +% cond: (sequence of commands ending in) any TeX \if... test. +% +% Count down instead of up with \downtovalue; the increment given in \bystep +% is always positive, and is added or subtracted accordingly. +% +% Tests: \untilcondition is evaluated at the end of the loop body; \whilecondition +% at the beginning of the loop body. +% +% Exit from middle of loop: \breaklooprepeat +% use this at any place in the loop; in case of a conditional use +% \ifsomething ... \expandafter \breaklooprepeat \fi +% +% Note that the line ends do not cause spaces in the output. +% +% Technical details: +% The loop body is not executed in a group: the braces are those +% of a token list. +% The `forvariable' variable is \let to a \count register. + + + +% Auxiliary stuff +\def\bidi@looprepeat@csarg#1#2{\expandafter#1\csname#2\endcsname} +\def\bidi@looprepeat@csromannumeral#1{\csname #1\romannumeral\bidi@looprepeat@depth\endcsname} +\def\bidi@looprepeat@csargromannumeral#1#2{\expandafter#1\csname#2\romannumeral\bidi@looprepeat@depth\endcsname} + +\newcount\bidi@looprepeat@depth +\let\endlooprepeat\relax \def\bidi@csprotect{} +% Trace switches may later be defined by PAC_utils +\let\bidi@looprepeat@traceinit\relax \let\bidi@looprepeat@traceexit\relax + +% Main repeatloop macro +% - go to next level and allocate unique counter/toks if this is the +% first time we visit this level +% - setup: gather bounds and termination conditions +% - scoop up body in token list; after the assignment define and +% execute body +\def\looprepeat#1\doloopbody{\bidi@looprepeat@traceinit % exit in \breakrepeatloop + \advance\bidi@looprepeat@depth\@ne\relax + \bidi@looprepeat@csargromannumeral\ifx{bidi@looprepeat@count}\relax + \bidi@looprepeat@csargromannumeral{\csname newcount\expandafter\endcsname}{bidi@looprepeat@count}% + \bidi@looprepeat@csargromannumeral{\csname newtoks\expandafter\endcsname}{bidi@looprepeat@toks}% + \bidi@looprepeat@csargromannumeral{\csname newtoks\expandafter\endcsname}{bidi@looprepeat@wtest}% + \bidi@looprepeat@csargromannumeral{\csname newtoks\expandafter\endcsname}{bidi@looprepeat@utest}% + \fi \bidi@looprepeat@zero \def\bidi@looprepeat@sign{}\def\bidi@looprepeat@comp{>}\bidi@looprepeat@setup{#1}% + \edef\bidi@looprepeat@tmp + {\def\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@looprepeat}{\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@body}}}\bidi@looprepeat@tmp + \afterassignment\bidi@looprepeat@dxbody\bidi@looprepeat@csromannumeral{bidi@looprepeat@toks}} + +% Define and execute loop body +% This is done with an \edef to construct the actual sequence +\def\bidi@looprepeat@dxbody{\bidi@looprepeat@csargromannumeral\edef{bidi@looprepeat@body}{% + \bidi@looprepeat@csargromannumeral\the{bidi@looprepeat@wtest}% + \noexpand\the\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@toks}% + \bidi@looprepeat@csargromannumeral\the{bidi@looprepeat@utest}% + \global\bidi@looprepeat@csargromannumeral\advance{bidi@looprepeat@count} by \bidi@looprepeat@sign\bidi@looprepeat@csromannumeral{bidi@looprepeat@inc}\relax + \noexpand\endlooprepeat + \bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@looprepeat}}% + \bidi@looprepeat@csromannumeral{bidi@looprepeat@body}\ignorespaces} + +% Stop test +%% In order to stop, issue a +% \breaklooprepeat which scoops up the rest of the body and exits +\def\breaklooprepeat#1\endlooprepeat{\bidi@looprepeat@zero\bidi@looprepeat@csargromannumeral\let{bidi@looprepeat@looprepeat}\relax + \advance\bidi@looprepeat@depth\m@ne \bidi@looprepeat@traceexit + } + + +% Setup +% gather bounds and termination conditions +\def\bidi@looprepeat@setup#1{% + \begingroup + \def\forvariable##1{% + \edef\bidi@looprepeat@tmp{% + \global\let\bidi@looprepeat@csarg\noexpand{##1}\bidi@looprepeat@csromannumeral{bidi@looprepeat@count}\ignorespaces}% + \bidi@looprepeat@tmp}% + \def\fromvalue##1{\bidi@looprepeat@csargromannumeral\global{bidi@looprepeat@count}##1\ignorespaces}% + \def\tovalue##1{% + \edef\bidi@looprepeat@tmp{\global\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@wtest}= + {\bidi@looprepeat@csargromannumeral\the{bidi@looprepeat@wtest}% + \noexpand\ifnum\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@count}\bidi@looprepeat@comp##1\relax + \noexpand\expandafter \noexpand\breaklooprepeat + \noexpand\fi}\ignorespaces}% + \bidi@looprepeat@tmp}% + \def\downtovalue##1{% + \gdef\bidi@looprepeat@sign{-}\gdef\bidi@looprepeat@comp{<}\tovalue{##1}\ignorespaces}% + \def\bystep##1{\ifnum##1<0 \bidi@error{LOOPREPEAT: increment has to be a positive value}\@ehc% + \bidi@looprepeat@csargromannumeral\gdef{bidi@looprepeat@inc}{-##1}\else + \bidi@looprepeat@csargromannumeral\gdef{bidi@looprepeat@inc}{##1}\fi\ignorespaces}% + \def\untilcondition##1{% + \edef\bidi@looprepeat@tmp{\global\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@utest}= + {\noexpand##1\relax + \noexpand\expandafter \noexpand\breaklooprepeat \noexpand\fi}\ignorespaces}% + \bidi@looprepeat@tmp}% + \def\whilecondition##1{% + \edef\bidi@looprepeat@tmp{\global\bidi@looprepeat@csargromannumeral\noexpand{bidi@looprepeat@wtest}= + {\noexpand##1\relax \noexpand\else + \noexpand\expandafter \noexpand\breaklooprepeat \noexpand\fi}\ignorespaces}% + \bidi@looprepeat@tmp}% + \fromvalue{\@ne}\bystep{\@ne}#1% + \endgroup} +\def\bidi@looprepeat@zero + {\bidi@looprepeat@csromannumeral{bidi@looprepeat@toks}{}\bidi@looprepeat@csromannumeral{bidi@looprepeat@utest}{}\bidi@looprepeat@csromannumeral{bidi@looprepeat@wtest}{}% + \bidi@looprepeat@csargromannumeral\def{bidi@looprepeat@body}{}} + +%\tracingmacros2 +%\newcount\tmpcount % used in some examples below + +%\looprepeat \forvariable{i} +% \bystep{2} +% \doloopbody {% +% \ifnum\i=13 \expandafter\breaklooprepeat \fi +% \number\i{} % +%}% + +%\looprepeat \forvariable{iii} +% \tovalue{8} +% \doloopbody {} +%After loop: \number\iii% + +%\looprepeat \forvariable{i} +% \fromvalue{10} +% \bystep{2} +% \downtovalue{0} +% \doloopbody {\number\i{} } + +%\looprepeat \forvariable{x} \whilecondition{\ifnum\x<7} +% \doloopbody {\number\x{} } + +%\looprepeat \tovalue{3} \doloopbody {Hello world! } + +%\looprepeat \forvariable{j} +% \untilcondition{\tmpcount\j \divide\tmpcount by 37 \noexpand\ifnum\tmpcount=1} +% \doloopbody {\number\j{} } + +%\looprepeat \forvariable{i} \bystep{2} \tovalue{10} \doloopbody +% {\looprepeat \forvariable{j} \fromvalue{\i} \bystep{3} \tovalue{18} +% \doloopbody {(\number\i.\number\j) } +% } + +% 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'}% +} + +\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 + }% + }% +} + +\newcommand*{\@@@bidi@AfterClass}[2]{% + \begingroup\ifx\csname #2.\@clsextension-h@@k\endcsname\relax + \aftergroup\@s@bidi@AfterClass + \else + \aftergroup\bidi@AfterAtEndOfClass + \fi + \endgroup{#2}% +} + +\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}% +} + +\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}% +} + + +\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}% +} + +\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}{} + +\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 +} + +\@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 +} +\@onlypreamble\bidi@ResetPreventPackageFromLoading +\newcommand*{\bidi@StorePreventPackageFromLoading}[1]{% + \let#1\bidi@excludedpackages +} +\@onlypreamble\bidi@StorePreventPackageFromLoading +\newcommand*{\bidi@UnPreventPackageFromLoading}{% + \@ifstar {\@tempswatrue\@bidi@UnPreventPackageFromLoading}% + {\@tempswafalse\@bidi@UnPreventPackageFromLoading}% +} + +\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@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@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@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@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% +} + +\long\def\bidi@protected@immediate@write#1#2#3{% + \begingroup + #2% + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write#1{#3}}% + \reserved@a + \endgroup + \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}% + }% +} +\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}% + }% +} + +\AtBeginDocument{\bidi@patch@list} + +\bidi@AtEndPreamble{\bidi@patch@list}% + +\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 +}% +% \end{macrocode} +% \iffalse +%</biditools.sty> +%<*bidituftefloat.sty> +%\fi +% \section{File \texttt{bidituftefloat.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftefloat}[2017/05/19 v0.2 +bidi implementation of tufte float] +\RequirePackage{xifthen} +\newcommand{\@bidituftefloat@pkgname}{bidituftefloat} +\newcommand{\bidituftefloatError}[2]{\PackageError{\@bidituftefloat@pkgname}{#1}{#2}} +\newcommand{\bidituftefloatDebugInfoNL}[1]{\ifthenelse{\boolean{@bidituftefloat@debug}}{\bidituftefloatInfoNL{#1}}{}} +\newcommand{\bidituftefloatInfoNL}[1]{\PackageInfo{\@bidituftefloat@pkgname}{#1\@gobble}} +\newboolean{@bidituftefloat@reversegeometry} +\setboolean{@bidituftefloat@reversegeometry}{false} +\DeclareOption{reversegeometry}{\setboolean{@bidituftefloat@reversegeometry}{true}} +\newboolean{@bidituftefloat@afourpaper} +\DeclareOption{a4paper}{\setboolean{@bidituftefloat@afourpaper}{true}} +\newboolean{@bidituftefloat@bfivepaper} +\DeclareOption{b5paper}{\setboolean{@bidituftefloat@bfivepaper}{true}} +\newboolean{@bidituftefloat@symmetric} +\newboolean{@bidituftefloat@twoside} +\DeclareOption{twoside}{% +\@twosidetrue \@mparswitchtrue% +\setboolean{@bidituftefloat@twoside}{true}% +\setboolean{@bidituftefloat@symmetric}{true}% +} +\DeclareOption{oneside}{% +\@twosidefalse \@mparswitchfalse% +\setboolean{@bidituftefloat@twoside}{false}% +\setboolean{@bidituftefloat@symmetric}{false}% +} +\@ifclassloaded{book}{\ExecuteOptions{twoside}}{} +\newboolean{@bidituftefloat@debug} +\newcommand*{\@bidituftefloat@caption@justification}{\@bidituftefloat@justification@autodetect} +\ProcessOptions +%% Globally sets the length +\newcommand*{\gsetlength}[2]{% + \setlength{#1}{#2}% + \global#1=#1\relax% +} + +%% Set the font sizes and baselines to match bidituftefloat's books +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt{14}% + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalbaselineskip=14pt +\normalsize +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{10}% + \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 3\p@ \@plus\p@ \@minus\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +%% Paragraph indentation and separation for marginal text +\newcommand{\@bidituftefloat@margin@par}{% + \setlength{\RaggedRightParindent}{0.5pc}% + \setlength{\JustifyingParindent}{0.5pc}% + \setlength{\parindent}{0.5pc}% + \setlength{\parskip}{0pt}% +} +\RequirePackage{ragged2e} +\ifthenelse{\boolean{@bidituftefloat@reversegeometry}}{% +\RequirePackage[letterpaper,right=1in,top=1in,headsep=2\baselineskip,textwidth=26pc,marginparsep=2pc,marginparwidth=12pc,textheight=44\baselineskip,headheight=\baselineskip]{geometry} +\ifthenelse{\boolean{@bidituftefloat@afourpaper}} + {\geometry{a4paper,right=24.8mm,top=27.4mm,headsep=2\baselineskip,textwidth=107mm,marginparsep=8.2mm,marginparwidth=49.4mm,textheight=49\baselineskip,headheight=\baselineskip}} + {} +\ifthenelse{\boolean{@bidituftefloat@bfivepaper}} + {\geometry{paperwidth=176mm,paperheight=250mm,right=14.66mm,top=13.88mm,textwidth=102.66mm,marginparsep=7.33mm,marginparwidth=36.66mm,textheight=38\baselineskip,includehead}} + {}}{% +\RequirePackage[letterpaper,left=1in,top=1in,headsep=2\baselineskip,textwidth=26pc,marginparsep=2pc,marginparwidth=12pc,textheight=44\baselineskip,headheight=\baselineskip]{geometry} +\ifthenelse{\boolean{@bidituftefloat@afourpaper}} + {\geometry{a4paper,left=24.8mm,top=27.4mm,headsep=2\baselineskip,textwidth=107mm,marginparsep=8.2mm,marginparwidth=49.4mm,textheight=49\baselineskip,headheight=\baselineskip}} + {} +\ifthenelse{\boolean{@bidituftefloat@bfivepaper}} + {\geometry{paperwidth=176mm,paperheight=250mm,left=14.66mm,top=13.88mm,textwidth=102.66mm,marginparsep=7.33mm,marginparwidth=36.66mm,textheight=38\baselineskip,includehead}} + {}} +\ifthenelse{\boolean{@bidituftefloat@symmetric}} + {} + {\geometry{asymmetric}}% forces internal LaTeX `twoside' +\setlength\marginparpush{10pt} +%% Font for margin items +\newcommand{\@bidituftefloat@marginfont}{\normalfont\footnotesize} +\newcommand*{\@bidituftefloat@caption@font}{\@bidituftefloat@marginfont} +\newcommand*{\setcaptionfont}[1]{\renewcommand*{\@bidituftefloat@caption@font}{#1}} +\newcommand{\@bidituftefloat@justification}{\justifying}% +\setlength\abovedisplayskip{6pt plus 2pt minus 4pt} +\setlength\belowdisplayskip{6pt plus 2pt minus 4pt} +\newboolean{@bidituftefloat@changepage} +\IfFileExists{changepage.sty}{% + \bidituftefloatDebugInfoNL{Found changepage.sty} + \RequirePackage[strict]{changepage} + \setboolean{@bidituftefloat@changepage}{true} +}{% + \bidituftefloatDebugInfoNL{Found chngpage.sty} + \RequirePackage[strict]{chngpage} + \setboolean{@bidituftefloat@changepage}{false} +} +\newboolean{@bidituftefloat@odd@page} +\setboolean{@bidituftefloat@odd@page}{true} +\newcommand*{\@bidituftefloat@checkoddpage}{% + \checkoddpage% + \ifthenelse{\boolean{@bidituftefloat@changepage}}{% + \ifoddpage% + \setboolean{@bidituftefloat@odd@page}{true}% + \else% + \setboolean{@bidituftefloat@odd@page}{false}% + \fi% + }{% + \ifcpoddpage% + \setboolean{@bidituftefloat@odd@page}{true}% + \else% + \setboolean{@bidituftefloat@odd@page}{false}% + \fi% + }% +} +\newlength{\@bidituftefloat@overhang}% used by the fullwidth environment and the running heads +\newlength{\@bidituftefloat@fullwidth} +\newlength{\@bidituftefloat@caption@fill} +\newcommand{\bidituftefloatRecalculate}{% + \setlength{\@bidituftefloat@overhang}{\marginparwidth} + \addtolength{\@bidituftefloat@overhang}{\marginparsep} + + \setlength{\@bidituftefloat@fullwidth}{\textwidth} + \addtolength{\@bidituftefloat@fullwidth}{\marginparsep} + \addtolength{\@bidituftefloat@fullwidth}{\marginparwidth} + + \setlength{\@bidituftefloat@caption@fill}{\textwidth} + \addtolength{\@bidituftefloat@caption@fill}{\marginparsep} +} +\AtBeginDocument{\bidituftefloatRecalculate} +\RequirePackage{optparams}% provides multiple optional arguments for commands +\RequirePackage{placeins} +\newsavebox{\@bidituftefloat@margin@floatbox} +\newenvironment{@bidituftefloat@margin@float}[2][-1.2ex]% + {\FloatBarrier% process all floats before this point so the figure/table numbers stay in order. + \begin{lrbox}{\@bidituftefloat@margin@floatbox}% + \begin{minipage}{\marginparwidth}% + \@bidituftefloat@caption@font% + \def\@captype{#2}% + \hbox{}\vspace*{#1}% + \@bidituftefloat@caption@justification% + \@bidituftefloat@margin@par% + \noindent% + } + {\end{minipage}% + \end{lrbox}% + \marginpar{\usebox{\@bidituftefloat@margin@floatbox}}% + } +\newenvironment{marginfigure}[1][-1.2ex]% + {\begin{@bidituftefloat@margin@float}[#1]{figure}} + {\end{@bidituftefloat@margin@float}} +\newenvironment{margintable}[1][-1.2ex]% + {\begin{@bidituftefloat@margin@float}[#1]{table}} + {\end{@bidituftefloat@margin@float}} +\newcommand*{\@bidituftefloat@justification@autodetect}{\justifying}% + +\newcommand{\@bidituftefloat@float@debug@info}{}% contains debug info generated as the float is processed +\newcommand{\@bidituftefloat@float@debug}[1]{% adds debug info to the queue for output + \ifthenelse{\equal{\@bidituftefloat@float@debug@info}{}}% + {\def\@bidituftefloat@float@debug@info{#1}}% + {\g@addto@macro\@bidituftefloat@float@debug@info{\MessageBreak#1}}% +} +\newcommand{\floatalignment}{x}% holds the current float alignment (t, b, h, p) +\newcommand{\setfloatalignment}[1]{\global\def\floatalignment{#1}\@bidituftefloat@float@debug{Forcing position: [#1]}}% manually sets the float alignment +\newboolean{@bidituftefloat@float@recto} +\newcommand{\forcerectofloat}{\GlobalSetBoolean{@bidituftefloat@float@recto}{true}\@bidituftefloat@float@debug{Forcing page: [recto]}} +\newcommand{\forceversofloat}{\GlobalSetBoolean{@bidituftefloat@float@recto}{false}\@bidituftefloat@float@debug{Forcing page: [verso]}} +\newsavebox{\@bidituftefloat@figure@box} +\newsavebox{\@bidituftefloat@caption@box} +\let\@bidituftefloat@orig@float\@float +\let\@bidituftefloat@orig@endfloat\end@float +\newlength{\@bidituftefloat@caption@vertical@offset} +\setlength{\@bidituftefloat@caption@vertical@offset}{0pt} +\newcommand{\@bidituftefloat@stored@shortcaption}{} +\newcommand{\@bidituftefloat@stored@caption}{} +\newcommand{\@bidituftefloat@stored@label}{} +\long\def\@bidituftefloat@caption[#1][#2]#3{% + \ifthenelse{\isempty{#1}}% + {\gdef\@bidituftefloat@stored@shortcaption{#3}}% + {\gdef\@bidituftefloat@stored@shortcaption{#1}}% + \gsetlength{\@bidituftefloat@caption@vertical@offset}{-#2}% we want a positive offset to lower captions + \gdef\@bidituftefloat@stored@caption{#3}% +} +\newcommand{\@bidituftefloat@label}[1]{% + \gdef\@bidituftefloat@stored@label{#1}% +} +\newcommand{\@bidituftefloat@fps}{} +\newboolean{@bidituftefloat@float@star} +\newlength{\@bidituftefloat@float@contents@width} +\newenvironment{@bidituftefloat@float}[3][htbp]% + {% begin @bidituftefloat@float + % Should this float be full-width or just text-width? + \ifthenelse{\equal{#3}{star}}% + {\GlobalSetBoolean{@bidituftefloat@float@star}{true}}% + {\GlobalSetBoolean{@bidituftefloat@float@star}{false}}% + % Check page side (recto/verso) and store detected value -- can be overriden in environment contents + \@bidituftefloat@checkoddpage% + \ifthenelse{\boolean{@bidituftefloat@odd@page}}% + {\GlobalSetBoolean{@bidituftefloat@float@recto}{true}\@bidituftefloat@float@debug{Detected page: [recto/odd]}}% + {\GlobalSetBoolean{@bidituftefloat@float@recto}{false}\@bidituftefloat@float@debug{Detected page: [verso/even]}}% + % If the float placement specifier is 'b' and only 'b', then bottom-align the mini-pages, otherwise top-align them. + \renewcommand{\@bidituftefloat@fps}{#1}% + \@bidituftefloat@float@debug{Allowed positions: [#1]}% + \ifthenelse{\equal{#1}{b}\OR\equal{#1}{B}}% + {\renewcommand{\floatalignment}{b}\@bidituftefloat@float@debug{Presumed position: [bottom]}}% + {\renewcommand{\floatalignment}{t}\@bidituftefloat@float@debug{Presumed position: [top]}}% + % Capture the contents of the \caption and \label commands to use later + \global\let\@bidituftefloat@orig@caption\caption% + \global\let\@bidituftefloat@orig@label\label% + \renewcommand{\caption}{\optparams{\@bidituftefloat@caption}{[][0pt]}}% + \renewcommand{\label}[1]{\@bidituftefloat@label{##1}}% + % Handle subfigure package compatibility + \ifthenelse{\boolean{@bidituftefloat@packages@subfigure}}{% + \bidi@patchcmd{\subfigure}{% + \let\subfig@oldlabel=\label + }{% + \let\subfig@oldlabel=\@bidituftefloat@orig@label + } + {} + {} + \let\subtable=\subfigure + }{}% subfigure package is not loaded + \@bidituftefloat@orig@float{#2}[#1]% + \ifthenelse{\boolean{@bidituftefloat@float@star}}% + {\setlength{\@bidituftefloat@float@contents@width}{\@bidituftefloat@fullwidth}}% + {\setlength{\@bidituftefloat@float@contents@width}{\textwidth}}% + \begin{lrbox}{\@bidituftefloat@figure@box}% + \begin{minipage}[\floatalignment]{\@bidituftefloat@float@contents@width}\hbox{}% + }{% end @bidituftefloat@float + \par\hbox{}\vspace{-\baselineskip}\ifthenelse{\prevdepth>0}{\vspace{-\prevdepth}}{}% align baselines of boxes + \end{minipage}% + \end{lrbox}% + % build the caption box + \begin{lrbox}{\@bidituftefloat@caption@box}% + \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% + \ifthenelse{\NOT\equal{\@bidituftefloat@stored@caption}{}}{\@bidituftefloat@orig@caption[\@bidituftefloat@stored@shortcaption]{\@bidituftefloat@stored@caption}}{}% + \ifthenelse{\NOT\equal{\@bidituftefloat@stored@label}{}}{\@bidituftefloat@orig@label{\@bidituftefloat@stored@label}}{}% + \par\vspace{-\prevdepth}%% TODO: DOUBLE-CHECK FOR SAFETY + \end{minipage}% + \end{lrbox}% + % now typeset the stored boxes + \begin{fullwidth}% + \begin{minipage}[\floatalignment]{\linewidth}% + \ifthenelse{\boolean{@bidituftefloat@float@star}}% + {\@bidituftefloat@float@fullwidth[\@bidituftefloat@caption@vertical@offset]{\@bidituftefloat@figure@box}{\@bidituftefloat@caption@box}}% + {\@bidituftefloat@float@textwidth[\@bidituftefloat@caption@vertical@offset]{\@bidituftefloat@figure@box}{\@bidituftefloat@caption@box}}% + \end{minipage}% + \end{fullwidth}% + \@bidituftefloat@orig@endfloat% end original LaTeX float environment + % output debug info + \ifthenelse{\boolean{@bidituftefloat@debug}}{% + \typeout{^^J^^J----------- bidituftefloat package float information ----------}% + \ifthenelse{\equal{\@bidituftefloat@stored@label}{}}% + {\typeout{Warning: Float unlabeled!}}% + {\typeout{Float label: [\@bidituftefloat@stored@label]}}% + \typeout{Page number: [\thepage]}% + \def\MessageBreak{^^J}% + \typeout{\@bidituftefloat@float@debug@info}% + \ifthenelse{\boolean{@bidituftefloat@symmetric}}% + {\typeout{Symmetric: [true]}}% + {\typeout{Symmetric: [false]}}% + \typeout{----------------------------------------------------^^J^^J}% + }{}% + % reset commands and temp boxes and captions + \gdef\@bidituftefloat@float@debug@info{}% + \let\caption\@bidituftefloat@orig@caption% + \let\label\@bidituftefloat@orig@label% + \begin{lrbox}{\@bidituftefloat@figure@box}\hbox{}\end{lrbox}% + \begin{lrbox}{\@bidituftefloat@caption@box}\hbox{}\end{lrbox}% + \gdef\@bidituftefloat@stored@shortcaption{}% + \gdef\@bidituftefloat@stored@caption{}% + \gdef\@bidituftefloat@stored@label{}% + \gsetlength{\@bidituftefloat@caption@vertical@offset}{0pt}% reset caption offset + } +\newcommand{\@bidituftefloat@float@textwidth}[3][0pt]{% + \ifthenelse{\NOT\boolean{@bidituftefloat@symmetric}\OR\boolean{@bidituftefloat@float@recto}}{% + % asymmetric or page is odd, so caption is on the right + \hbox{% + \usebox{#2}% + \hspace{\marginparsep}% + \smash{\raisebox{#1}{\usebox{#3}}}% + } + \@bidituftefloat@float@debug{Caption position: [right]}% + }{% symmetric pages and page is even, so caption is on the left + \hbox{% + \smash{\raisebox{#1}{\usebox{#3}}}% + \hspace{\marginparsep}% + \usebox{#2}% + } + \@bidituftefloat@float@debug{Caption position: [left]}% + }% +} +\newcommand{\@bidituftefloat@float@fullwidth}[3][0pt]{% + \ifthenelse{\equal{\floatalignment}{b}}% + {% place caption above figure + \ifthenelse{\NOT\boolean{@bidituftefloat@symmetric}\OR\boolean{@bidituftefloat@float@recto}}% + {\hfill\smash{\raisebox{#1}{\usebox{#3}}}\par\usebox{#2}\@bidituftefloat@float@debug{Caption position: [above right]}}% caption on the right + {\smash{\raisebox{#1}{\usebox{#3}}}\hfill\par\usebox{#2}\@bidituftefloat@float@debug{Caption position: [above left]}}% caption on the left + }{% place caption below figure + \ifthenelse{\NOT\boolean{@bidituftefloat@symmetric}\OR\boolean{@bidituftefloat@float@recto}}% + {\usebox{#2}\par\hfill\smash{\raisebox{#1}{\usebox{#3}}}\@bidituftefloat@float@debug{Caption position: [below right]}}% caption on the right + {\usebox{#2}\par\smash{\raisebox{#1}{\usebox{#3}}}\hfill\@bidituftefloat@float@debug{Caption position: [below left]}}% caption on the left + }% +} +\renewenvironment{figure}[1][htbp]% + {\ifvmode\else\unskip\fi\begin{@bidituftefloat@float}[#1]{figure}{}} + {\end{@bidituftefloat@float}} +\renewenvironment{table}[1][htbp] + {\ifvmode\else\unskip\fi\begin{@bidituftefloat@float}[#1]{table}{}} + {\end{@bidituftefloat@float}} +\renewenvironment{figure*}[1][htbp]% + {\ifvmode\else\unskip\fi\begin{@bidituftefloat@float}[#1]{figure}{star}} + {\end{@bidituftefloat@float}} +\renewenvironment{table*}[1][htbp]% + {\ifvmode\else\unskip\fi\begin{@bidituftefloat@float}[#1]{table}{star}} + {\end{@bidituftefloat@float}} +\newenvironment{fullwidth} + {\ifthenelse{\boolean{@bidituftefloat@symmetric}}% + {\ifthenelse{\boolean{@bidituftefloat@changepage}}{\begin{adjustwidth*}{}{-\@bidituftefloat@overhang}}{\begin{adjustwidth}[]{}{-\@bidituftefloat@overhang}}}% + {\begin{adjustwidth}{}{-\@bidituftefloat@overhang}}% + }% + {\ifthenelse{\boolean{@bidituftefloat@symmetric}}% + {\ifthenelse{\boolean{@bidituftefloat@changepage}}{\end{adjustwidth*}}{\end{adjustwidth}}}% + {\end{adjustwidth}}% + } +\long\def\@caption#1[#2]#3{% + \par% + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% + \begingroup% + \@parboxrestore% + \if@minipage% + \@setminipage% + \fi% + \@bidituftefloat@caption@font\@bidituftefloat@caption@justification% + \noindent\csname fnum@#1\endcsname: \ignorespaces#3\par% + %\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par + \endgroup} +%% +% Turns newlines into spaces. Based on code from the `titlesec' package. +\DeclareRobustCommand{\@biditufteheading@newlinetospace}{% + \@ifstar{\@biditufteheading@newlinetospace@i}{\@biditufteheading@newlinetospace@i}% +} +\def\@biditufteheading@newlinetospace@i{% + \ifdim\lastskip>\z@\else\space\fi + \ignorespaces% +} +\DeclareRobustCommand{\newlinetospace}[1]{% + \let\@biditufteheading@orig@cr\\% save the original meaning of \\ + \def\\{\@biditufteheading@newlinetospace}% turn \\ and \\* into \space + \let\newline\\% turn \newline into \space + #1% + \let\\\@biditufteheading@orig@cr% revert to original meaning of \\ +} +\RequirePackage{fancyhdr} +\pagestyle{fancy} +\AtBeginDocument{% + \ifthenelse{\boolean{@bidituftefloat@symmetric}} + {\fancyhfoffset[LE,RO]{\@bidituftefloat@overhang}} + {\fancyhfoffset[RE,RO]{\@bidituftefloat@overhang}} +} +% The running heads/feet don't have rules +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +% The 'fancy' page style is the default style for all pages. +\fancyhf{} % clear header and footer fields + \ifthenelse{\boolean{@bidituftefloat@symmetric}} + {\fancyhead[LE]{\thepage\quad\textsl{\newlinetospace{\plainauthor}}}% + \fancyhead[RO]{\textsl{\newlinetospace{\plaintitle}}\quad\thepage}}% + {\fancyhead[RE,RO]{\textsl{\newlinetospace{\plaintitle}}\quad\thepage}}% +% The `plain' page style is used on chapter opening pages. +% In Tufte's /Beautiful Evidence/ he never puts page numbers at the +% bottom of pages -- the folios are unexpressed. +\fancypagestyle{plain}{ + \fancyhf{} % clear header and footer fields + % Uncomment the following five lines of code if you want the opening page + % of the chapter to express the folio in the lower outside corner. + % \ifthenelse{\boolean{@bidituftefloat@symmetric}} + % {\fancyfoot[LE,RO]{\thepage}} + % {\fancyfoot[RE,RO]{\thepage}} +} +% The `empty' page style suppresses all headers and footers. +% It's used on title pages and `intentionally blank' pages. +\fancypagestyle{empty}{ + \fancyhf{} % clear header and footer fields +} +\def\morefloats{% provides a total of 52 floats + \ifthenelse{\isundefined{\bx@S}}{% + \bidituftefloatDebugInfoNL{Adding 34 more float slots.} + \newinsert\bx@S + \newinsert\bx@T + \newinsert\bx@U + \newinsert\bx@V + \newinsert\bx@W + \newinsert\bx@X + \newinsert\bx@Y + \newinsert\bx@Z + \newinsert\bx@a + \newinsert\bx@b + \newinsert\bx@c + \newinsert\bx@d + \newinsert\bx@e + \newinsert\bx@f + \newinsert\bx@g + \newinsert\bx@h + \newinsert\bx@i + \newinsert\bx@j + \newinsert\bx@k + \newinsert\bx@l + \newinsert\bx@m + \newinsert\bx@n + \newinsert\bx@o + \newinsert\bx@p + \newinsert\bx@q + \newinsert\bx@r + \newinsert\bx@s + \newinsert\bx@t + \newinsert\bx@u + \newinsert\bx@v + \newinsert\bx@w + \newinsert\bx@x + \newinsert\bx@y + \newinsert\bx@z + \gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E + \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J + \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N + \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R + \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V + \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z + \@elt\bx@a\@elt\bx@b\@elt\bx@c\@elt\bx@d\@elt\bx@e + \@elt\bx@f\@elt\bx@g\@elt\bx@h\@elt\bx@i\@elt\bx@j + \@elt\bx@k\@elt\bx@l\@elt\bx@m\@elt\bx@n + \@elt\bx@o\@elt\bx@p\@elt\bx@q\@elt\bx@r + \@elt\bx@s\@elt\bx@t\@elt\bx@u\@elt\bx@v + \@elt\bx@w\@elt\bx@x\@elt\bx@y\@elt\bx@z}% + }{% we've already added another 34 floats, so we'll add 26 more, but that's it! + \ifthenelse{\isundefined{\bx@AA}}{% + \bidituftefloatDebugInfoNL{Adding 26 more float slots.} + \newinsert\bx@AA + \newinsert\bx@BB + \newinsert\bx@CC + \newinsert\bx@DD + \newinsert\bx@EE + \newinsert\bx@FF + \newinsert\bx@GG + \newinsert\bx@HH + \newinsert\bx@II + \newinsert\bx@JJ + \newinsert\bx@KK + \newinsert\bx@LL + \newinsert\bx@MM + \newinsert\bx@NN + \newinsert\bx@OO + \newinsert\bx@PP + \newinsert\bx@QQ + \newinsert\bx@RR + \newinsert\bx@SS + \newinsert\bx@TT + \newinsert\bx@UU + \newinsert\bx@VV + \newinsert\bx@WW + \newinsert\bx@XX + \newinsert\bx@YY + \newinsert\bx@ZZ + \gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E + \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J + \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N + \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R + \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V + \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z + \@elt\bx@a\@elt\bx@b\@elt\bx@c\@elt\bx@d\@elt\bx@e + \@elt\bx@f\@elt\bx@g\@elt\bx@h\@elt\bx@i\@elt\bx@j + \@elt\bx@k\@elt\bx@l\@elt\bx@m\@elt\bx@n + \@elt\bx@o\@elt\bx@p\@elt\bx@q\@elt\bx@r + \@elt\bx@s\@elt\bx@t\@elt\bx@u\@elt\bx@v + \@elt\bx@w\@elt\bx@x\@elt\bx@y\@elt\bx@z + \@elt\bx@AA\@elt\bx@BB\@elt\bx@CC\@elt\bx@DD\@elt\bx@EE + \@elt\bx@FF\@elt\bx@GG\@elt\bx@HH\@elt\bx@II\@elt\bx@JJ + \@elt\bx@KK\@elt\bx@LL\@elt\bx@MM\@elt\bx@NN + \@elt\bx@OO\@elt\bx@PP\@elt\bx@QQ\@elt\bx@RR + \@elt\bx@SS\@elt\bx@TT\@elt\bx@UU\@elt\bx@VV + \@elt\bx@WW\@elt\bx@XX\@elt\bx@YY\@elt\bx@ZZ}% + }{% + \bidituftefloatError{You may only call \string\morefloats\space twice. See the\MessageBreak bidituftefloat package documentation for other workarounds} + {There are already 78 float slots allocated. Try using \string\FloatBarrier\space or\MessageBreak \string\clearpage\space to place some floats before creating more.} + }% + }% +} +\newboolean{@bidituftefloat@packages@subfigure} +\setboolean{@bidituftefloat@packages@subfigure}{false} +\AtBeginDocument{% + \@ifpackageloaded{subfigure} + {\GlobalSetBoolean{@bidituftefloat@packages@subfigure}{true}} + {\GlobalSetBoolean{@bidituftefloat@packages@subfigure}{false}}% +} +\AtBeginDocument{% + \@ifpackageloaded{float}{% + % Save the redefined float environment (instead of the LaTeX float environment) + \let\@bidituftefloat@orig@float\@float + \let\@bidituftefloat@orig@endfloat\end@float + + % Define Tuftian float styles (with the caption in the margin) + \newcommand{\floatc@bidituftefloatplain}[2]{% + \begin{lrbox}{\@bidituftefloat@caption@box}% + \begin{minipage}[\floatalignment]{\marginparwidth}\hbox{}% + \@bidituftefloat@caption@font{\@fs@cfont #1:} #2\par% + \end{minipage}% + \end{lrbox}% + \smash{\hspace{\@bidituftefloat@caption@fill}\usebox{\@bidituftefloat@caption@box}}% + } + \newcommand{\fs@bidituftefloatplain}{% + \def\@fs@cfont{\@bidituftefloat@caption@font}% + \let\@fs@capt\floatc@bidituftefloatplain% + \def\@fs@pre{}% + \def\@fs@post{}% + \def\@fs@mid{}% + \let\@fs@iftopcapt\iftrue% + } + \let\fs@bidituftefloatplaintop=\fs@bidituftefloatplain + \let\floatc@bidituftefloatplaintop=\floatc@bidituftefloatplain + \newcommand\floatc@bidituftefloatruled[2]{% + {\@fs@cfont #1} #2\par% + } + \newcommand\fs@bidituftefloatruled{% + \def\@fs@cfont{\@bidituftefloat@caption@font}% + \let\@fs@capt\floatc@bidituftefloatplain% + \def\@fs@pre{\hrule height.8pt depth0pt width\textwidth \kern2pt}% + \def\@fs@post{\kern2pt\hrule width\textwidth\relax}% + \def\@fs@mid{}% + \let\@fs@iftopcapt\iftrue% + } + \newcommand\fs@bidituftefloatboxed{% + \def\@fs@cfont{}% + \let\@fs@capt\floatc@bidituftefloatplain% + \def\@fs@pre{% + \setbox\@currbox\vbox{\hbadness10000 + \moveleft3.4pt\vbox{\advance\hsize by6.8pt + \hrule \hbox to\hsize{\vrule\kern3pt + \vbox{\kern3pt\box\@currbox\kern3pt}\kern3pt\vrule}\hrule}} + }% + \def\@fs@mid{\kern2pt}% + \def\@fs@post{}% + \let\@fs@iftopcapt\iftrue% + } + }{% + % Nothing to do + } +} +\AtBeginDocument{% + \@ifpackageloaded{algorithm}{% + % Set the float style to the Tuftian version + \ifthenelse{\equal{\ALG@floatstyle}{plain}\OR\equal{\ALG@floatstyle}{ruled}\OR\equal{\ALG@floatstyle}{boxed}}{% + \bidituftefloatInfoNL{Switching algorithm float style from \ALG@floatstyle\MessageBreak to bidituftefloat\ALG@floatstyle}% + \floatstyle{bidituftefloat\ALG@floatstyle}% + \restylefloat{algorithm}% + }{}% + }{% + % Nothing to do + } +} +\PassOptionsToPackage{caption=false}{subfig} +% \end{macrocode} +% \iffalse +%</bidituftefloat.sty> +%<*bidituftesidenote.sty> +%\fi +% \section{File \texttt{bidituftesidenote.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftesidenote}[2017/08/09 v0.4 +bidi implementation of tufte sidenote] +\RequirePackage{xifthen} +\RequirePackage{ragged2e} +\RequirePackage{setspace} +\RequirePackage{biditools} +\def\bidituftesidenotemarginpar{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr + \@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% + {\@floatpenalty\z@ + \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar [\@bidituftesidenotexmpar\@bidituftesidenoteympar} +\long\def\@bidituftesidenotexmpar[#1]#2{% + \@bidituftesidenotesavemarbox\@marbox{#1}% + \@bidituftesidenotesavemarbox\@currbox{#2}% + \@xympar} +\long\def\@bidituftesidenoteympar#1{% + \@bidituftesidenotesavemarbox\@marbox{#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\long\def \@bidituftesidenotesavemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@bidituftesidenotemarginparreset + #2% + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\def \@bidituftesidenotemarginparreset {% + \reset@font + \normalsize + \@minipagetrue + \everypar{\@minipagefalse\everypar{}\if@RTL@footnote\beginR\else\beginL\fi}% +} +\def\LTRbidituftesidenotemarginpar{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr + \@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% + {\@floatpenalty\z@ + \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar [\@LTRbidituftesidenotexmpar\@LTRbidituftesidenoteympar} +\long\def\@LTRbidituftesidenotexmpar[#1]#2{% + \@LTRbidituftesidenotesavemarbox\@marbox{#1}% + \@LTRbidituftesidenotesavemarbox\@currbox{#2}% + \@xympar} +\long\def\@LTRbidituftesidenoteympar#1{% + \@LTRbidituftesidenotesavemarbox\@marbox{#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\long\def \@LTRbidituftesidenotesavemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@LTRbidituftesidenotemarginparreset + #2% + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\def \@LTRbidituftesidenotemarginparreset {% + \reset@font + \normalsize + \@minipagetrue + \everypar{\@minipagefalse\everypar{}\beginL}% +} +\def\RTLbidituftesidenotemarginpar{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr + \@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% + {\@floatpenalty\z@ + \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar [\@RTLbidituftesidenotexmpar\@RTLbidituftesidenoteympar} +\long\def\@RTLbidituftesidenotexmpar[#1]#2{% + \@RTLbidituftesidenotesavemarbox\@marbox{#1}% + \@RTLbidituftesidenotesavemarbox\@currbox{#2}% + \@xympar} +\long\def\@RTLbidituftesidenoteympar#1{% + \@RTLbidituftesidenotesavemarbox\@marbox{#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\long\def \@RTLbidituftesidenotesavemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@RTLbidituftesidenotemarginparreset + #2% + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\def \@RTLbidituftesidenotemarginparreset {% + \reset@font + \normalsize + \@minipagetrue + \everypar{\@minipagefalse\everypar{}\beginR}% +} +\newcommand*{\@bidituftesidenote@marginfont}{\normalfont\footnotesize} +\newcommand*{\@bidituftesidenote@LTRmarginfont}{\normalfont\footnotesize} +\newcommand*{\@bidituftesidenote@RTLmarginfont}{\normalfont\footnotesize} +\newcommand*{\@bidituftesidenote@sidenote@font}{\@bidituftesidenote@marginfont} +\newcommand*{\@bidituftesidenote@LTRsidenote@font}{\@bidituftesidenote@LTRmarginfont} +\newcommand*{\@bidituftesidenote@RTLsidenote@font}{\@bidituftesidenote@RTLmarginfont} +\newcommand*{\@bidituftesidenote@marginnote@font}{\@bidituftesidenote@marginfont} +\newcommand*{\@bidituftesidenote@LTRmarginnote@font}{\@bidituftesidenote@LTRmarginfont} +\newcommand*{\@bidituftesidenote@RTLmarginnote@font}{\@bidituftesidenote@RTLmarginfont} +\newcommand*{\@bidituftesidenote@citation@font}{\@bidituftesidenote@marginfont} +\newcommand*{\@bidituftesidenote@LTRcitation@font}{\@bidituftesidenote@LTRmarginfont} +\newcommand*{\@bidituftesidenote@RTLcitation@font}{\@bidituftesidenote@RTLmarginfont} +\newcommand*{\setsidenotefont}[1]{\renewcommand*{\@bidituftesidenote@sidenote@font}{#1}} +\newcommand*{\setLTRsidenotefont}[1]{\renewcommand*{\@bidituftesidenote@LTRsidenote@font}{#1}} +\newcommand*{\setRTLsidenotefont}[1]{\renewcommand*{\@bidituftesidenote@RTLsidenote@font}{#1}} +\newcommand*{\setmarginnotefont}[1]{\renewcommand*{\@bidituftesidenote@marginnote@font}{#1}} +\newcommand*{\setLTRmarginnotefont}[1]{\renewcommand*{\@bidituftesidenote@LTRmarginnote@font}{#1}} +\newcommand*{\setRTLmarginnotefont}[1]{\renewcommand*{\@bidituftesidenote@RTLmarginnote@font}{#1}} +\newcommand*{\setcitationfont}[1]{\renewcommand*{\@bidituftesidenote@citation@font}{#1}} +\newcommand*{\setLTRcitationfont}[1]{\renewcommand*{\@bidituftesidenote@LTRcitation@font}{#1}} +\newcommand*{\setRTLcitationfont}[1]{\renewcommand*{\@bidituftesidenote@RTLcitation@font}{#1}} +\newcommand*{\@bidituftesidenote@sidenote@justification}{\@bidituftesidenote@justification@autodetect} +\newcommand*{\@bidituftesidenote@marginnote@justification}{\@bidituftesidenote@justification@autodetect} +\newcommand*{\@bidituftesidenote@citation@justification}{\@bidituftesidenote@justification@autodetect} +\newcommand*{\@bidituftesidenote@justification@autodetect}{\justifying}% +\newcommand{\@bidituftesidenote@margin@par}{% + \setlength{\RaggedRightParindent}{0.5pc}% + \setlength{\JustifyingParindent}{0.5pc}% + \setlength{\parindent}{0.5pc}% + \setlength{\parskip}{0pt}% +} +%% +% Globally sets the length +\@ifundefined{gsetlength}{% +\newcommand*{\gsetlength}[2]{% + \setlength{#1}{#2}% + \global#1=#1\relax% +}% +}{} + +%% +% A function that removes leading and trailling spaces from the supplied macro. +% Based on code written by Michael Downes (See ``Around the Bend'', #15.) +% Executing \@bidituftesidenote@trim@spaces\xyzzy will result in the contents of \xyzzy +% being trimmed of leading and trailing white space. +\catcode`\Q=3 +\def\@bidituftesidenote@trim@spaces#1{% + % Use grouping to emulate a multi-token afterassignment queue + \begingroup% + % Put `\toks 0 {' into the afterassignment queue + \aftergroup\toks\aftergroup0\aftergroup{% + % Apply \trimb to the replacement text of #1, adding a leading + % \noexpand to prevent brace stripping and to serve another purpose + % later. + \expandafter\@bidituftesidenote@trim@b\expandafter\noexpand#1Q Q}% + % Transfer the trimmed text back into #1. + \edef#1{\the\toks0}% +} +% \trimb removes a trailing space if present, then calls \@bidituftesidenote@trim@c to +% clean up any leftover bizarre Qs, and trim a leading space. In +% order for \trimc to work properly we need to put back a Q first. +\def\@bidituftesidenote@trim@b#1 Q{\@bidituftesidenote@trim@c#1Q} +% Execute \vfuzz assignment to remove leading space; the \noexpand +% will now prevent unwanted expansion of a macro or other expandable +% token at the beginning of the trimmed text. The \endgroup will feed +% in the \aftergroup tokens after the \vfuzz assignment is completed. +\def\@bidituftesidenote@trim@c#1Q#2{\afterassignment\endgroup \vfuzz\the\vfuzz#1} +\catcode`\Q=11 +%% +% Citations should go in the margin as sidenotes + +\RequirePackage{natbib} +\RequirePackage{bibentry} % allows bibitems to be typeset outside thebibliography environment +% Redefine the \BR@b@bibitem command to fix a bug with bibentry+chicago style +\renewcommand\BR@b@bibitem[2][]{% + \ifthenelse{\isempty{#1}}% + {\BR@bibitem{#2}}% + {\BR@bibitem[#1]{#2}}% + \BR@c@bibitem{#2}% +} +\bidi@AtEndPreamble{\nobibliography*} % pre-loads the bibliography keys +%% +% Normal \cite behavior +\newcounter{@bidituftesidenote@num@bibkeys}% +\newcommand{\@bidituftesidenote@normal@cite}[2][0pt]{% + % Snag the last bibentry in the list for later comparison + \let\@temp@last@bibkey\@empty% + \@for\@temp@bibkey:=#2\do{\let\@temp@last@bibkey\@temp@bibkey}% + \sidenote[][#1]{% + % Loop through all the bibentries, separating them with semicolons and spaces + \normalsize\normalfont\@bidituftesidenote@citation@font% + \setcounter{@bidituftesidenote@num@bibkeys}{0}% + \@for\@temp@bibkeyx:=#2\do{% + \ifthenelse{\equal{\@temp@last@bibkey}{\@temp@bibkeyx}}% + {\ifthenelse{\equal{\value{@bidituftesidenote@num@bibkeys}}{0}}{}{and\ }% + \@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx}}% + {\@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx};\ }% + \stepcounter{@bidituftesidenote@num@bibkeys}% + }% + }% +} +\newcommand{\@biditufteLTRsidenote@normal@cite}[2][0pt]{% + % Snag the last bibentry in the list for later comparison + \let\@temp@last@bibkey\@empty% + \@for\@temp@bibkey:=#2\do{\let\@temp@last@bibkey\@temp@bibkey}% + \LTRsidenote[][#1]{% + % Loop through all the bibentries, separating them with semicolons and spaces + \normalsize\normalfont\@bidituftesidenote@LTRcitation@font% + \setcounter{@bidituftesidenote@num@bibkeys}{0}% + \@for\@temp@bibkeyx:=#2\do{% + \ifthenelse{\equal{\@temp@last@bibkey}{\@temp@bibkeyx}}% + {\ifthenelse{\equal{\value{@bidituftesidenote@num@bibkeys}}{0}}{}{and\ }% + \@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx}}% + {\@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx};\ }% + \stepcounter{@bidituftesidenote@num@bibkeys}% + }% + }% +} +\newcommand{\@biditufteRTLsidenote@normal@cite}[2][0pt]{% + % Snag the last bibentry in the list for later comparison + \let\@temp@last@bibkey\@empty% + \@for\@temp@bibkey:=#2\do{\let\@temp@last@bibkey\@temp@bibkey}% + \RTLsidenote[][#1]{% + % Loop through all the bibentries, separating them with semicolons and spaces + \normalsize\normalfont\@bidituftesidenote@citation@font% + \setcounter{@bidituftesidenote@num@bibkeys}{0}% + \@for\@temp@bibkeyx:=#2\do{% + \ifthenelse{\equal{\@temp@last@bibkey}{\@temp@bibkeyx}}% + {\ifthenelse{\equal{\value{@bidituftesidenote@num@bibkeys}}{0}}{}{and\ }% + \@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx}}% + {\@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx};\ }% + \stepcounter{@bidituftesidenote@num@bibkeys}% + }% + }% +} +%% +% Macros for holding the list of cite keys until after the \sidenote +\gdef\@bidituftesidenote@citations{}% list of cite keys +\newcommand\@bidituftesidenote@add@citation[1]{\relax% adds a new bibkey to the list of cite keys + \ifx\@bidituftesidenote@citations\@empty\else + \g@addto@macro\@bidituftesidenote@citations{,}% separate by commas + \fi + \g@addto@macro\@bidituftesidenote@citations{#1} +} +\newcommand{\@bidituftesidenote@print@citations}[1][0pt]{% puts the citations in a margin note + % Snag the last bibentry in the list for later comparison + \let\@temp@last@bibkey\@empty% + \@for\@temp@bibkey:=\@bidituftesidenote@citations\do{\let\@temp@last@bibkey\@temp@bibkey}% + \marginpar{% + \hbox{}\vspace*{#1}% + \@bidituftesidenote@citation@font% + \@bidituftesidenote@citation@justification% + \@bidituftesidenote@margin@par% use parindent and parskip settings for marginal text + \vspace*{-1\baselineskip}% + % Loop through all the bibentries, separating them with semicolons and spaces + \setcounter{@bidituftesidenote@num@bibkeys}{0}% + \@for\@temp@bibkeyx:=\@bidituftesidenote@citations\do{% + \ifthenelse{\equal{\@temp@last@bibkey}{\@temp@bibkeyx}}% + {\ifthenelse{\equal{\value{@bidituftesidenote@num@bibkeys}}{0}}{}{and\ }% + \@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx}}% + {\@bidituftesidenote@trim@spaces\@temp@bibkeyx% trim spaces around bibkey + \bibentry{\@temp@bibkeyx};\ }% + \stepcounter{@bidituftesidenote@num@bibkeys}% + }% + }% +} +%% +% \cite behavior when executed within a sidenote +\newcommand{\@bidituftesidenote@sidenote@citations}{}% contains list of \cites in sidenote +\newcommand{\@bidituftesidenote@infootnote@cite}[1]{% + \@bidituftesidenote@add@citation{#1} +} +%% +% Set the default \cite style. This is set and reset by the \sidenote command. +\let\cite\@bidituftesidenote@normal@cite +\let\LTRcite\@biditufteLTRsidenote@normal@cite +\let\RTLcite\@biditufteRTLsidenote@normal@cite +%% +% Transform existing \footnotes into \sidenotes +% Sidenote: ``Where God meant footnotes to go.'' ---bidituftesidenote +\RequirePackage{optparams}% for our new sidenote commands -- provides multiple optional arguments for commands +\providecommand{\footnotelayout}{\@bidituftesidenote@sidenote@font\@bidituftesidenote@sidenote@justification} +\renewcommand{\footnotelayout}{\@bidituftesidenote@sidenote@font\@bidituftesidenote@sidenote@justification} +% Override footmisc's definition to set the sidenote marks (numbers) inside the +% sidenote's text block. +\bidi@patch@AfterPackage{bidi}{\long\def\@makefntext#1{\@textsuperscript{\@bidituftesidenote@sidenote@font\tiny\@thefnmark}\,\footnotelayout#1}} +% Set the in-text footnote mark in the same typeface as the body text itself. +\bidi@patch@AfterPackage{bidi}{\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\footnotesize\@thefnmark}}}} +\providecommand*{\multiplefootnotemarker}{3sp} +\providecommand*{\multfootsep}{,} +\bidi@patch@AfterPackage{bidi}{% +\renewcommand{\@footnotemark}{% + \leavevmode% + \ifhmode% + \edef\@x@sf{\the\spacefactor}% + \@bidituftesidenote@check@multiple@sidenotes% + \nobreak% + \fi% + \@makefnmark% + \ifhmode\spacefactor\@x@sf\fi% + \relax% +}% +} +\newcommand{\@bidituftesidenote@check@multiple@sidenotes}{% + \ifdim\lastkern=\multiplefootnotemarker\relax% + \edef\@x@sf{\the\spacefactor}% + \unkern% + \textsuperscript{\multfootsep}% + \spacefactor\@x@sf\relax% + \fi +} +\bidi@patch@AfterPackage{bidi}{% +\renewcommand\@footnotetext[2][0pt]{% + \bidituftesidenotemarginpar{% + \hbox{}\vspace*{#1}% + \def\baselinestretch {\setspace@singlespace}% + \reset@font% + \bidi@@footnotetext@font% \reset@font\footnotesize% + \@bidituftesidenote@margin@par% use parindent and parskip settings for marginal text + \vspace*{-1\baselineskip}\noindent% + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark% + }% + \color@begingroup% + \@makefntext{% + \ignorespaces#2% + }% + \color@endgroup% + }% +}% +\renewcommand\@LTRfootnotetext[2][0pt]{% + \LTRbidituftesidenotemarginpar{% + \hbox{}\vspace*{#1}% + \def\baselinestretch {\setspace@singlespace}% + \reset@font% + \bidi@@LTRfootnotetext@font% \reset@font\footnotesize% + \@bidituftesidenote@margin@par% use parindent and parskip settings for marginal text + \vspace*{-1\baselineskip}\noindent% + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark% + }% + \color@begingroup% + \@makefntext{% + \ignorespaces#2% + }% + \color@endgroup% + }% +}% +\renewcommand\@RTLfootnotetext[2][0pt]{% + \RTLbidituftesidenotemarginpar{% + \hbox{}\vspace*{#1}% + \def\baselinestretch {\setspace@singlespace}% + \reset@font% + \bidi@@RTLfootnotetext@font% \reset@font\footnotesize% + \@bidituftesidenote@margin@par% use parindent and parskip settings for marginal text + \vspace*{-1\baselineskip}\noindent% + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark% + }% + \color@begingroup% + \@makefntext{% + \ignorespaces#2% + }% + \color@endgroup% + }% +}% +} +% +% Define \sidenote command. Can handle \cite. +\newlength{\@bidituftesidenote@sidenote@vertical@offset} +\setlength{\@bidituftesidenote@sidenote@vertical@offset}{0pt} +% #1 = footnote num, #2 = vertical offset, #3 = footnote text +\long\def\@bidituftesidenote@sidenote[#1][#2]#3{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \ifthenelse{\NOT\isempty{#2}}{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{#2}% + }{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{0pt}% + }% + \ifthenelse{\isempty{#1}}{% + % no specific footnote number provided + \stepcounter\@mpfn% + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark\@footnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }{% + % specific footnote number provided + \begingroup% + \csname c@\@mpfn\endcsname #1\relax% + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup% + \@footnotemark\@footnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command + \unskip\ignorespaces% remove extra white space + \kern-\multiplefootnotemarker% remove \kern left behind by sidenote + \kern\multiplefootnotemarker\relax% add new \kern here to replace the one we yanked +} +\long\def\@LTRbidituftesidenote@sidenote[#1][#2]#3{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \ifthenelse{\NOT\isempty{#2}}{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{#2}% + }{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{0pt}% + }% + \ifthenelse{\isempty{#1}}{% + % no specific footnote number provided + \stepcounter\@mpfn% + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark\@LTRfootnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }{% + % specific footnote number provided + \begingroup% + \csname c@\@mpfn\endcsname #1\relax% + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup% + \@footnotemark\@LTRfootnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command + \unskip\ignorespaces% remove extra white space + \kern-\multiplefootnotemarker% remove \kern left behind by sidenote + \kern\multiplefootnotemarker\relax% add new \kern here to replace the one we yanked +} +\long\def\@RTLbidituftesidenote@sidenote[#1][#2]#3{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \ifthenelse{\NOT\isempty{#2}}{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{#2}% + }{% + \gsetlength{\@bidituftesidenote@sidenote@vertical@offset}{0pt}% + }% + \ifthenelse{\isempty{#1}}{% + % no specific footnote number provided + \stepcounter\@mpfn% + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark\@RTLfootnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }{% + % specific footnote number provided + \begingroup% + \csname c@\@mpfn\endcsname #1\relax% + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup% + \@footnotemark\@RTLfootnotetext[\@bidituftesidenote@sidenote@vertical@offset]{#3}% + }% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command + \unskip\ignorespaces% remove extra white space + \kern-\multiplefootnotemarker% remove \kern left behind by sidenote + \kern\multiplefootnotemarker\relax% add new \kern here to replace the one we yanked +} +\newcommand{\sidenote}{\optparams{\@bidituftesidenote@sidenote}{[][0pt]}} +\newcommand{\LTRsidenote}{\optparams{\@LTRbidituftesidenote@sidenote}{[][0pt]}} +\newcommand{\RTLsidenote}{\optparams{\@RTLbidituftesidenote@sidenote}{[][0pt]}} +\bidi@patch@AfterPackage{bidi}{% +\renewcommand{\footnote}{\optparams{\@bidituftesidenote@sidenote}{[][0pt]}}% +\renewcommand{\LTRfootnote}{\optparams{\@LTRbidituftesidenote@sidenote}{[][0pt]}}% +\renewcommand{\RTLfootnote}{\optparams{\@RTLbidituftesidenote@sidenote}{[][0pt]}}% +} +%% +% Sidenote without the footnote mark +\newcommand\marginnote[2][0pt]{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \bidituftesidenotemarginpar{\hbox{}\vspace*{#1}\@bidituftesidenote@marginnote@font\@bidituftesidenote@marginnote@justification\@bidituftesidenote@margin@par\vspace*{-1\baselineskip}\noindent #2}% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command +} +\newcommand\LTRmarginnote[2][0pt]{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \LTRbidituftesidenotemarginpar{\hbox{}\vspace*{#1}\@bidituftesidenote@LTRmarginnote@font\@bidituftesidenote@marginnote@justification\@bidituftesidenote@margin@par\vspace*{-1\baselineskip}\noindent #2}% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command +} +\newcommand\RTLmarginnote[2][0pt]{% + \let\cite\@bidituftesidenote@infootnote@cite% use the in-sidenote \cite command + \gdef\@bidituftesidenote@citations{}% clear out any old citations + \RTLbidituftesidenotemarginpar{\hbox{}\vspace*{#1}\@bidituftesidenote@RTLmarginnote@font\@bidituftesidenote@marginnote@justification\@bidituftesidenote@margin@par\vspace*{-1\baselineskip}\noindent #2}% + \@bidituftesidenote@print@citations% print any citations + \let\cite\@bidituftesidenote@normal@cite% go back to using normal in-text \cite command + \let\LTRcite\@biditufteLTRsidenote@normal@cite% go back to using normal in-text \LTRcite command + \let\RTLcite\@biditufteRTLsidenote@normal@cite% go back to using normal in-text \RTLcite command +} +% \end{macrocode} +% \iffalse +%</bidituftesidenote.sty> +%<*bidituftetoc.sty> +%\fi +% \section{File \texttt{bidituftetoc.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftetoc}[2011/06/17 v0.1 +bidi implementation of tufte toc] +\RequirePackage{titlesec,titletoc,xifthen,biditools} +\newcommand{\@bidituftetoc@pkgname}{bidituftetoc} +\newcommand{\bidituftetocError}[2]{\PackageError{\@bidituftetoc@pkgname}{#1}{#2}} +%% +% Turn off section numbering +\setcounter{secnumdepth}{-1} +\newboolean{@bidituftetoc@toc} +\setboolean{@bidituftetoc@toc}{true} +\DeclareOption{notoc}{\setboolean{@bidituftetoc@toc}{false}} +\DeclareOption{toc}{\setboolean{@bidituftetoc@toc}{true}} +\ProcessOptions +%% +% Make Tuftian-style section headings and TOC formatting +\bidi@patch@AfterPackage{bidi}{% +\titleformat{\chapter}% + [display]% shape + {\relax\ifthenelse{\NOT\boolean{@bidituftefloat@symmetric}}{\begin{fullwidth}}{}}% format applied to label+text + {\itshape\huge\thechapter}% label + {0pt}% horizontal separation between label and title body + {\huge\rmfamily\itshape}% before the title body + [\ifthenelse{\NOT\boolean{@bidituftefloat@symmetric}}{\end{fullwidth}}{}]% after the title body +\titleformat{\section}% + [hang]% shape + {\normalfont\Large\itshape}% format applied to label+text + {\thesection}% label + {1em}% horizontal separation between label and title body + {}% before the title body + []% after the title body +\titleformat{\subsection}% + [hang]% shape + {\normalfont\large\itshape}% format applied to label+text + {\thesubsection}% label + {1em}% horizontal separation between label and title body + {}% before the title body + []% after the title body +\titleformat{\paragraph}% + [runin]% shape + {\normalfont\itshape}% format applied to label+text + {\theparagraph}% label + {1em}% horizontal separation between label and title body + {}% before the title body + []% after the title body +\titlespacing*{\chapter}{0pt}{50pt}{40pt} +\titlespacing*{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex} +\titlespacing*{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus.2ex} +} +% Subsubsection and following section headings shouldn't be used. +% See Bringhurst's _The Elements of Typography_, section 4.2.2. +\renewcommand\subsubsection{% + \bidituftetocError{\noexpand\subsubsection is undefined by this class.% + \MessageBreak See Robert Bringhurst's _The Elements of + \MessageBreak Typographic Style_, section 4.2.2. + \MessageBreak \noexpand\subsubsection was used} + {From Bringhurst's _The Elements of Typographic Style_, section 4.2.2: Use as + \MessageBreak many levels of headings as you need, no more and no fewer. Also see the many + \MessageBreak related threads on Ask E.T. at http://www.edwardbidituftetoc.com/.} +} +\renewcommand\subparagraph{% + \bidituftetocError{\noexpand\subparagraph is undefined by this class.% + \MessageBreak See Robert Bringhurst's _The Elements of + \MessageBreak Typographic Style_, section 4.2.2. + \MessageBreak \noexpand\subparagraph was used} + {From Bringhurst's _The Elements of Typographic Style_, section 4.2.2: Use as + \MessageBreak many levels of headings as you need, no more and no fewer. Also see the many + \MessageBreak related threads on Ask E.T. at http://www.edwardbidituftetoc.com/.} +} +% Formatting for main TOC (printed in front matter) +% {section} [left] {above} {before w/label} {before w/o label} {filler + page} [after] +\ifthenelse{\boolean{@bidituftetoc@toc}}{% + \bidi@patch@AfterPackage{bidi}{% + \titlecontents{part}% FIXME + [0em] % distance from left margin + {\vspace{1.5\baselineskip}\begin{fullwidth}\LARGE\rmfamily\itshape} % above (global formatting of entry) + {\contentslabel{2em}} % before w/label (label = ``II'') + {} % before w/o label + {\rmfamily\upshape\qquad\thecontentspage} % filler + page (leaders and page num) + [\end{fullwidth}] % after + \titlecontents{chapter}% + [0em] % distance from left margin + {\vspace{1.5\baselineskip}\begin{fullwidth}\LARGE\rmfamily\itshape} % above (global formatting of entry) + {\hspace*{0em}\contentslabel{2em}} % before w/label (label = ``2'') + {\hspace*{0em}} % before w/o label + {\rmfamily\upshape\qquad\thecontentspage} % filler + page (leaders and page num) + [\end{fullwidth}] % after + \titlecontents{section}% FIXME + [0em] % distance from left margin + {\vspace{0\baselineskip}\begin{fullwidth}\Large\rmfamily\itshape} % above (global formatting of entry) + {\hspace*{2em}\contentslabel{2em}} % before w/label (label = ``2.6'') + {\hspace*{2em}} % before w/o label + {\rmfamily\upshape\qquad\thecontentspage} % filler + page (leaders and page num) + [\end{fullwidth}] % after + \titlecontents{subsection}% FIXME + [0em] % distance from left margin + {\vspace{0\baselineskip}\begin{fullwidth}\large\rmfamily\itshape} % above (global formatting of entry) + {\hspace*{4em}\contentslabel{4em}} % before w/label (label = ``2.6.1'') + {\hspace*{4em}} % before w/o label + {\rmfamily\upshape\qquad\thecontentspage} % filler + page (leaders and page num) + [\end{fullwidth}] % after + \titlecontents{paragraph}% FIXME + [0em] % distance from left margin + {\vspace{0\baselineskip}\begin{fullwidth}\normalsize\rmfamily\itshape} % above (global formatting of entry) + {\hspace*{6em}\contentslabel{2em}} % before w/label (label = ``2.6.0.0.1'') + {\hspace*{6em}} % before w/o label + {\rmfamily\upshape\qquad\thecontentspage} % filler + page (leaders and page num) + [\end{fullwidth}] % after +}% +}{} +%% +% Format lists of figures/tables +\renewcommand\listoffigures{% + \@ifundefined{chapter}% + {\section*{\listfigurename}}% + {\chapter*{\listfigurename}}% +% \begin{fullwidth}% + \@starttoc{lof}% +% \end{fullwidth}% +} +\renewcommand\listoftables{% + \@ifundefined{chapter}% + {\section*{\listtablename}}% + {\chapter*{\listtablename}}% +% \begin{fullwidth}% + \@starttoc{lot}% +% \end{fullwidth}% +} +\newcommand{\@bidituftetoc@lof@line}[2]{% + % #1 is the figure/table number and its caption text + % #2 is the page number on which the figure/table appears + \leftskip 0.0em + \rightskip 0em + \parfillskip 0em plus 1fil + \parindent 0.0em + \@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima 2.0em + \if@RTL\advance\rightskip\@tempdima\else\advance\leftskip\@tempdima\fi + \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {#1}\nobreak\qquad\nobreak#2% + \par% +} +\renewcommand*\l@figure{\@bidituftetoc@lof@line} +\let\l@table\l@figure +% \end{macrocode} +% \iffalse +%</bidituftetoc.sty> +%<*bidituftegeneralstructure.sty> +%\fi +% \section{File \texttt{bidituftegeneralstructure.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftegeneralstructure}[2011/06/18 v0.1 +bidi implementation of tufte general structure] +\renewcommand\small{% + \@setfontsize\small\@ixpt{12}% + \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus2\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 4\p@ \@plus2\p@ \@minus2\p@ + \parsep 2\p@ \@plus\p@ \@minus\p@ + \itemsep \parsep}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xipt{15}} +\renewcommand\Large{\@setfontsize\Large\@xiipt{16}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{18}} +\renewcommand\huge{\@setfontsize\huge\@xxpt{30}} +\renewcommand\Huge{\@setfontsize\Huge{24}{36}} +\setlength\leftmargini {1pc} +\setlength\leftmarginii {1pc} +\setlength\leftmarginiii {1pc} +\setlength\leftmarginiv {1pc} +\setlength\leftmarginv {1pc} +\setlength\leftmarginvi {1pc} +\setlength\labelsep {.5pc} +\setlength\labelwidth {\leftmargini} +\addtolength\labelwidth{-\labelsep} +\setlength{\parindent}{1.0pc}% +\setlength{\parskip}{0pt}% +\RequirePackage{ragged2e} +\setlength{\RaggedRightRightskip}{\z@ plus 0.08\hsize} +% Paragraph indentation and separation for normal text +\newcommand{\@bidituftegeneralstructure@reset@par}{% + \setlength{\RaggedRightParindent}{1.0pc}% + \setlength{\JustifyingParindent}{1.0pc}% + \setlength{\parindent}{1pc}% + \setlength{\parskip}{0pt}% +} +\@bidituftegeneralstructure@reset@par +% Require paralist package for tighter lists +\RequirePackage{paralist} +% Add rightmargin to compactenum +\def\@compactenum@{% + \expandafter\list\csname label\@enumctr\endcsname{% + \usecounter{\@enumctr}% + \rightmargin=2em% added this + \parsep\plparsep + \itemsep\plitemsep + \topsep\pltopsep + \partopsep\plpartopsep + \def\makelabel##1{\hss\llap{##1}}}} +%% +% An environment for paragraph-style section +\providecommand\newthought[1]{% + \addvspace{1.0\baselineskip plus 0.5ex minus 0.2ex}% + \noindent\textbf{#1}% +} +%% +% Redefine the display environments (quote, quotation, etc.) +\renewenvironment{verse} + {\let\\\@centercr + \list{}{\itemsep \z@ + \itemindent -1pc% + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1pc}% + \small% + \item\relax} + {\endlist} +\renewenvironment{quotation} + {\list{}{\listparindent 1pc% + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@}% + \small% + \item\relax\noindent\ignorespaces} + {\endlist} +\renewenvironment{quote} + {\list{}{\rightmargin\leftmargin}% + \small% + \item\relax} + {\endlist} +% Italicize description run-in headings (instead of the default bold) +\renewcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\em #1} +%% +% Redefine \bibsection to not mark the running heads. +% (Code modified from natbib.sty.) +\@ifundefined{chapter}% + {\renewcommand\bibsection{\section*{\refname}}} + {\@ifundefined{NAT@sectionbib}% + {\renewcommand\bibsection{\chapter{\bibname}}} + {\renewcommand\bibsection{\section*{\bibname}}}} +\RequirePackage{multicol} +\renewenvironment{theindex}{% +\@ifundefined{chapter}% + {\section*{\indexname}}% + {\chapter{\indexname}}% + \begin{fullwidth}% + \small% + \parskip0pt% + \parindent0pt% + \let\item\@idxitem% + \begin{multicols}{3}% +}{% + \end{multicols}% + \end{fullwidth}% +} +\AtBeginDocument{% +\renewcommand\@idxitem{\par\hangindent \if@RTL-\fi2em}% +\renewcommand\subitem{\par\hangindent \if@RTL-\fi3em\hspace*{1em}}% +\renewcommand\subsubitem{\par\hangindent \if@RTL-\fi4em\hspace*{2em}}} +\renewcommand\indexspace{\par\addvspace{1.0\baselineskip plus 0.5ex minus 0.2ex}\relax}% +\newcommand{\lettergroup}[1]{}% swallow the letter heading in the index +% \end{macrocode} +% \iffalse +%</bidituftegeneralstructure.sty> +%<*bidituftehyperref.sty> +%\fi +% \section{File \texttt{bidituftehyperref.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftehyperref}[2011/06/18 v0.1 +bidi implementation of tufte hyperref] +%% +% Color +\RequirePackage[usenames,dvipsnames,svgnames]{xcolor}% +\newboolean{@bidituftehyperref@loadhyper} +\setboolean{@bidituftehyperref@loadhyper}{true} +\DeclareOption{hyper}{\setboolean{@bidituftehyperref@loadhyper}{true}} +\DeclareOption{nohyper}{\setboolean{@bidituftehyperref@loadhyper}{false}} +\ProcessOptions +%% Loads the hyperref package and sets some default options. +\newcommand{\bidituftehyperrefLoadHyperref}{% +\RequirePackage[hyperfootnotes=false,colorlinks=true]{hyperref} + \hypersetup{% + bookmarksdepth = section, + citecolor = DarkGreen, + linkcolor = DarkBlue, +% pagecolor = DarkBlue, + urlcolor = DarkGreen, + }% +} +\ifthenelse{\boolean{@bidituftehyperref@loadhyper}}{% + \bidituftehyperrefLoadHyperref% +}{% hyperfootnotes override our modifications to the \footnote* and \@footnote* commands. + \PassOptionsToPackage{hyperfootnotes=false}{hyperref} +} +% \end{macrocode} +% \iffalse +%</bidituftehyperref.sty> +%<*bidituftetitle.sty> +%\fi +% \section{File \texttt{bidituftetitle.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidituftetitle}[2011/06/18 v0.1 +bidi implementation of tufte title] +\RequirePackage{biditools} +%% +% `titlepage' option -- creates a full title page with \maketitle +\newboolean{@bidituftetitle@titlepage} +\DeclareOption{titlepage}{\setboolean{@bidituftetitle@titlepage}{true}} +\DeclareOption{notitlepage}{\setboolean{@bidituftetitle@titlepage}{false}} +% Default `book' and `handout' options +\@ifclassloaded{book}{% +\ExecuteOptions{titlepage}}{% +\@ifclassloaded{article}{% +\ExecuteOptions{notitlepage}}% +{}} +\ProcessOptions +%% +% Modified \title, \author, and \date commands. These store the +% (footnote-less) values in \plaintitle, \plainauthor, and \thedate, respectively. +\newcommand{\plaintitle}{}% plain-text-only title +\newcommand{\plainauthor}{}% plain-text-only author +\newcommand{\plainpublisher}{}% plain-text-only publisher +\newcommand{\thanklesstitle}{}% full title text minus \thanks{} +\newcommand{\thanklessauthor}{}% full author text minus \thanks{} +\newcommand{\thanklesspublisher}{}% full publisher minus \thanks{} +\newcommand{\@publisher}{}% full publisher with \thanks{} +\newcommand{\thedate}{\today} +\bidi@patch@AfterPackage{bidi}{% +\renewcommand{\thanks}[1]{\footnote{#1}} +\renewcommand{\LTRthanks}[1]{\LTRfootnote{#1}} +\renewcommand{\RTLthanks}[1]{\RTLfootnote{#1}} +} +\renewcommand{\title}[2][]{% + \gdef\@title{#2}% + \begingroup% + % TODO store contents of \thanks command + \renewcommand{\thanks}[1]{}% swallow \thanks contents + \renewcommand{\LTRthanks}[1]{}% swallow \LTRthanks contents + \renewcommand{\RTLthanks}[1]{}% swallow \RTLthanks contents + \protected@xdef\thanklesstitle{#2}% + \endgroup% + \ifthenelse{\isempty{#1}}% + {\renewcommand{\plaintitle}{\thanklesstitle}}% use thankless title + {\renewcommand{\plaintitle}{#1}}% use provided plain-text title + \@ifundefined{hypersetup}% + {}% hyperref is not loaded; do nothing + {\hypersetup{pdftitle={\plaintitle}}}% set the PDF metadata title +} +\let\@author\@empty% suppress default latex.ltx ``no author'' warning +\renewcommand{\author}[2][]{% + \ifthenelse{\isempty{#2}}{}{\gdef\@author{#2}}% + \begingroup% + % TODO store contents of \thanks command + \renewcommand{\thanks}[1]{}% swallow \thanks contents + \renewcommand{\LTRthanks}[1]{}% swallow \LTRthanks contents + \renewcommand{\RTLthanks}[1]{}% swallow \RTLthanks contents + \protected@xdef\thanklessauthor{#2}% + \endgroup% + \ifthenelse{\isempty{#1}}% + {\renewcommand{\plainauthor}{\thanklessauthor}}% use thankless author + {\renewcommand{\plainauthor}{#1}}% use provided plain-text author + \@ifundefined{hypersetup}% + {}% hyperref is not loaded; do nothing + {\hypersetup{pdfauthor={\plainauthor}}}% set the PDF metadata author +} +\renewcommand{\date}[1]{% + \gdef\@date{#1}% + \begingroup% + % TODO store contents of \thanks command + \renewcommand{\thanks}[1]{}% swallow \thanks contents + \renewcommand{\LTRthanks}[1]{}% swallow \LTRthanks contents + \renewcommand{\RTLthanks}[1]{}% swallow \RTLthanks contents + \protected@xdef\thedate{#1}% + \endgroup% +} +%% +% Provides a \publisher command to set the publisher +\newcommand{\publisher}[2][]{% + \gdef\@publisher{#2}% + \begingroup% + \renewcommand{\thanks}[1]{}% swallow \thanks contents + \renewcommand{\LTRthanks}[1]{}% swallow \LTRthanks contents + \renewcommand{\RTLthanks}[1]{}% swallow \RTLthanks contents + \protected@xdef\thanklesspublisher{#2}% + \endgroup% + \ifthenelse{\isempty{#1}} + {\renewcommand{\plainpublisher}{\thanklesspublisher}}% use thankless publisher + {\renewcommand{\plainpublisher}{#1}}% use provided plain-text publisher +} +%% +% Produces a full title page +\newcommand{\maketitlepage}[0]{% + \cleardoublepage% + {% + \bfseries% + \begin{fullwidth}% + \fontsize{18}{20}\selectfont\par\noindent\thanklessauthor% + \vspace{11.5pc}% + \fontsize{36}{40}\selectfont\par\noindent\thanklesstitle% + \vfill% + \fontsize{14}{16}\selectfont\par\noindent\thanklesspublisher% + \end{fullwidth}% + } + \thispagestyle{empty}% + \clearpage% +} +%% +% Title block +\bidi@AfterEndPreamble{% +\renewcommand{\maketitle}{% + \newpage% + \global\@topnum\z@% prevent floats from being placed at the top of the page + \begingroup% + \setlength{\parindent}{0pt}% + \setlength{\parskip}{4pt}% + \let\@@title\@empty% + \let\@@author\@empty% + \let\@@date\@empty% + \gdef\@@title{\LARGE\itshape\@title\par}% + \gdef\@@author{\Large\itshape\@author\par}% + \gdef\@@date{\Large\itshape\@date\par}% + \@@title% + \@@author% + \@@date% + \endgroup% + \thispagestyle{plain}% suppress the running head +}% +} +%% +% Title page (if the `titlepage' option was passed to the bidituftetitle-handout +% class.) +\bidi@AfterEndPreamble{% +\ifthenelse{\boolean{@bidituftetitle@titlepage}} + {\renewcommand{\maketitle}{\maketitlepage}} + {} +} +%% +% When \cleardoublepage is called, produce a blank (empty) page -- i.e., +% without headers and footers +\def\cleardoublepage{\clearpage\if@twoside\ifodd\c@page\else + \hbox{} + %\vspace*{\fill} + %\begin{center} + % This page intentionally contains only this sentence. + %\end{center} + %\vspace{\fill} + \thispagestyle{empty} + \newpage + \if@twocolumn\hbox{}\newpage\fi\fi\fi} +% \end{macrocode} +% \iffalse +%</bidituftetitle.sty> +%<*biditufte-handout.cls> +%\fi +% \section{File \texttt{biditufte-handout.cls}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesClass{biditufte-handout}[2011/06/18 v0.1 biditufte-handout class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftefloat}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftetoc}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftehyperref}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftetitle}} +\ProcessOptions\relax +\LoadClass{article} +\RequirePackage{bidituftefloat} +\RequirePackage{bidituftesidenote} +\RequirePackage{bidituftetoc} +\RequirePackage{bidituftegeneralstructure} +\RequirePackage{bidituftehyperref} +\RequirePackage{bidituftetitle} +\renewenvironment{abstract} + {\begin{quotation}} + {\end{quotation}} +\AtBeginDocument{% +\IfFileExists{biditufte-handout.cfg} + {\input{biditufte-handout.cfg} + \ClassInfo{biditufte-handout}{Loading biditufte-handout configuration file \@gobble}} + {}% +} +% \end{macrocode} +% \iffalse +%</biditufte-handout.cls> +%<*biditufte-book.cls> +%\fi +% \section{File \texttt{biditufte-book.cls}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesClass{biditufte-book}[2011/06/18 v0.1 biditufte-book class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftefloat}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftetoc}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftehyperref}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{bidituftetitle}} +\ProcessOptions\relax +\LoadClass{book} +\RequirePackage{bidituftefloat} +\RequirePackage{bidituftesidenote} +\RequirePackage{bidituftetoc} +\RequirePackage{bidituftegeneralstructure} +\RequirePackage{bidituftehyperref} +\RequirePackage{bidituftetitle} +%% +% Set up any book-specific stuff now +%% +% The front matter in Tufte's /Beautiful Evidence/ contains everything up +% to the opening page of Chapter 1. The running heads, when they appear, +% contain only the (arabic) page number in the outside corner. +%\newif\if@mainmatter \@mainmattertrue +\renewcommand\frontmatter{% + \cleardoublepage% + \@mainmatterfalse% + \pagenumbering{arabic}% + %\pagestyle{plain}% + \fancyhf{}% + \ifthenelse{\boolean{@bidituftefloat@twoside}}% + {\fancyhead[LE,RO]{\thepage}}% + {\fancyhead[RE,RO]{\thepage}}% +} +%% +% The main matter in Tufte's /Beautiful Evidence/ doesn't restart the page +% numbering---it continues where it left off in the front matter. +\renewcommand\mainmatter{% + \cleardoublepage% + \@mainmattertrue% + \fancyhf{}% + \ifthenelse{\boolean{@bidituftefloat@twoside}}% + {\renewcommand{\chaptermark}[1]{\markboth{##1}{}}% + \fancyhead[LE]{\thepage\quad\smallcaps{\newlinetospace{\plaintitle}}}% book title + \fancyhead[RO]{\smallcaps{\newlinetospace{\leftmark}}\quad\thepage}}% chapter title + {\fancyhead[RE,RO]{\smallcaps{\newlinetospace{\plaintitle}}\quad\thepage}}% book title +} +%% +% The back matter contains appendices, indices, glossaries, endnotes, +% biliographies, list of contributors, illustration credits, etc. +\renewcommand\backmatter{% + \if@openright% + \cleardoublepage% + \else% + \clearpage% + \fi% + \@mainmatterfalse% +} +%% +% Only show the chapter titles in the table of contents +\setcounter{tocdepth}{0} +\AtBeginDocument{% +\IfFileExists{biditufte-book.cfg} + {\input{biditufte-book.cfg} + \ClassInfo{biditufte-book}{Loading biditufte-book configuration file \@gobble}} + {}% +} +% \end{macrocode} +% \iffalse +%</biditufte-book.cls> +%<*bidipoem.sty> +%\fi +% \section{File \texttt{bidipoem.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bidipoem}% +[2019/03/03 v1.0 Environments for typesetting Persian traditional and modern poems] + +% Usage: +% +% \Setversedim #1#2 % define the layout (within a group): +% #1 = length of both half-verses +% #2 = separation distance = length of a connection, if present +% Variant: +% \Setversedim #1[#2]#3 % for half-verses of unequal length +% #1 = length of first (=right) half-verse +% #2 = length of second (=left) half-verse +% #3 = separation distance = length of a connection, if present +% +% \traditionalhalfverses #1#2 % typeset two separated half-verses +% #1 = text of first (=right) half-verse +% #2 = text of second (=left) half-verse +% Variant: +% \traditionalhalfverses #1[#2]#3 % typeset two connected half-verses +% #1 = text of first (=right) half-verse +% #2 = text of connection +% #3 = text of second (=left) half-verse +% +% Alternative (if preferred): +% +% \traditionalconnverses #1#2#3 % = \traditionalhalfverses #1[#2]#3 + + +\newcommand*{\bidipoem@spreadbox}[2]{\hbox to #1{#2}} + +% define the layout, verses will be centered + +\newdimen \bidipoem@hvlen \newdimen \bidipoem@hvsep +\newdimen \bidipoem@hvind \newdimen \bidipoem@@hvlen + +\newcommand*{\Setversedim}[2]{% set lengths of half-verse, [separation] +\bidipoem@hvind \textwidth +\bidipoem@hvlen #1\relax \advance \bidipoem@hvind -\bidipoem@hvlen +\ifx [#2\def \bidipoem@next {\bidipoem@set@verseI [}\else +\bidipoem@@hvlen \bidipoem@hvlen \def \bidipoem@next {\bidipoem@set@@verse {#2}}\fi \bidipoem@next } + +\def \bidipoem@set@verseI [#1]{% optional parameter +\bidipoem@@hvlen #1\relax \bidipoem@set@@verse } + +\newcommand*{\bidipoem@set@@verse}[1]{% separation +\advance \bidipoem@hvind -\bidipoem@@hvlen \bidipoem@hvsep #1\relax +\advance \bidipoem@hvind -\bidipoem@hvsep \divide \bidipoem@hvind 2 } + +\newcommand*{\traditionalconnverses}[3]{% first half-verse, connection, second half-verse +\ifdim 0pt > \bidipoem@hvind % +\bidipoem@spreadbox \bidipoem@hvlen {#1}\\ \hfill % first block +\else +\noindent \hskip \bidipoem@hvind \relax \bidipoem@spreadbox \bidipoem@hvlen {#1}\fi +\bidipoem@spreadbox \bidipoem@hvsep {#2}% separator +\bidipoem@spreadbox \bidipoem@@hvlen {#3}% second block +\par } + +% macro for two half verses +\newcommand*{\traditionalhalfverses}[2]{% optional parameter? +\ifx [#2\def\bidipoem@half@verses@next{\bidipoem@half@verses {#1}[}% +\else\def\bidipoem@half@verses@next{\bidipoem@half@verses {#1}[\hfill]{#2}}\fi% +\bidipoem@half@verses@next} + +\def \bidipoem@half@verses #1[#2]#3{% first[mid]second +\traditionalconnverses {#1}{#2}{#3}} + + +{\catcode`\^^M=\active % these lines must end with % + \gdef\traditionalpoem@obeylines{\catcode`\^^M\active \let^^M\traditionalpoem@par}% + \global\let^^M\traditionalpoem@par} % this is in case ^^M appears in a \write +{\catcode`\^^M=\active % these lines must end with % + \gdef\modernpoem@obeylines{\catcode`\^^M\active \let^^M\modernpoem@par}% + \global\let^^M\modernpoem@par} % this is in case ^^M appears in a \write +\def\poemcolsepskip{.1\versewidth plus .1\versewidth minus .05\versewidth} +\def\poemmarginskip{1em plus 1fil minus 1em} +\def\poemextrabaselineskip{0\baselineskip} +\def\poemskip{\medskip} +\newcommand{\bidipoem@openbox}{\leavevmode + \hbox to.77778em{% + \hfil\vrule + \vbox to.675em{\hrule width.6em\vfil\hrule}% + \vrule\hfil}} +\def\poemblocksep{\quad\hbox{\bidipoem@openbox}} +\newdimen\versewidth +\newtoks\bidipoem@p@ftn +\def\poem@verse#1{% +\ifdim\wd#1>\new@poem@width +\xdef\new@poem@width{\the\wd#1}% +\ifdim\new@poem@width>\poem@width +\xdef\poem@width{\new@poem@width}% +\global\let\poem@needrun\relax +\fi +\fi +\hbox to\poem@width{\unhbox#1}% +\global\bidipoem@p@ftn\expandafter{\expandafter}\the\bidipoem@p@ftn% +} +\def\poem@linebegin{\vadjust{}\hskip\@flushglue\hskip\poemmarginskip\relax} +\def\poem@lineend{\nobreak\hskip\poemmarginskip\hskip\@flushglue\vadjust{}} +\def\poem@lineversesep{% +\nobreak +\hskip\z@ plus 1filll% +\penalty600% +\hskip\poemcolsepskip +\hskip\z@ plus -2filll% +\vadjust{}% +\nobreak +\hskip\z@ plus 1filll% +} +\def\poem@lineparsebegin{% +\halign\bgroup +\global\setbox\verse@i=\hbox{% +\let\@footnotetext\bidipoem@p@ftntext% +\let\@LTRfootnotetext\bidipoem@p@LTRftntext% +\let\@RTLfootnotetext\bidipoem@p@RTLftntext% +\let\@xfootnotenext\bidipoem@p@xftntext% +\let\@xfootnote\bidipoem@p@xfootnote% +\let\@xLTRfootnotenext\bidipoem@p@xLTRftntext% +\let\@xLTRfootnote\bidipoem@p@xLTRfootnote% +\let\@xRTLfootnotenext\bidipoem@p@xRTLftntext% +\let\@xRTLfootnote\bidipoem@p@xRTLfootnote% +\ignorespaces##\unskip}&& +\global\setbox\verse@ii=\hbox{% +\let\@footnotetext\bidipoem@p@ftntext% +\let\@LTRfootnotetext\bidipoem@p@LTRftntext% +\let\@RTLfootnotetext\bidipoem@p@RTLftntext% +\let\@xfootnotenext\bidipoem@p@xftntext% +\let\@xfootnote\bidipoem@p@xfootnote% +\let\@xLTRfootnotenext\bidipoem@p@xLTRftntext% +\let\@xLTRfootnote\bidipoem@p@xLTRfootnote% +\let\@xRTLfootnotenext\bidipoem@p@xRTLftntext% +\let\@xRTLfootnote\bidipoem@p@xRTLfootnote% +\ignorespaces##\unskip} +\cr +} +\def\poem@lineparseend{% +\crcr\egroup +\vskip-\baselineskip +} +\def\traditionalpoem@cr{% + \cr\poem@line +} +\newbox\verse@i +\newbox\verse@ii +\newif\ifpoem@started + +\def\poem@line{% +\poem@lineparseend +\ifdim\wd\verse@i>\z@\global\poem@startedtrue\fi +\ifdim\wd\verse@ii>\z@\global\poem@startedtrue\fi +\ifpoem@started + \ifdim\wd\verse@ii>\z@\else + \nopagebreak[3] + \fi + \leavevmode + \poem@linebegin + \poem@verse\verse@i + \ifdim\wd\verse@ii>\z@ + \poem@lineversesep + \poem@verse\verse@ii + \fi + \poem@lineend +% \nopagebreak + \par + \vskip\poemextrabaselineskip +\fi +\poem@lineparsebegin +} +\def\@traditionalpoem{% +\stepcounter{poem@no} + \ifnum\max@poem@no<\number\c@poem@no% +\xdef\poem@width{\z@}% + \else +\xdef\poem@width{\poem@prop{poem@width}}% +\fi +\xdef\new@poem@width{\z@}% +\global\versewidth=\poem@width +\poemskip\par +\begingroup +\tabskip=\z@ +\parskip=\z@ +\parindent=\z@ +\parfillskip=\z@ +\rightskip=\z@ +\leftskip=\z@ +\widowpenalty=10000% No break between verses of the same line. +\clubpenalty=10000% Same as above. Not really needed. +\def\newblock{\hfil\poemblocksep\hfil\null}% +\def\traditionalpoem@par{\traditionalpoem@cr}% Redefine \par for possible \obeylines +\def\\{\global\poem@startedtrue\traditionalpoem@cr}% +\global\poem@startedfalse +\csname poem@obeylines\endcsname +\let\poem@obeylines\relax +\poem@lineparsebegin +} +\def\@endtraditionalpoem{% +\cr +\ifdim\wd\verse@i>\z@\poem@line\else\ifdim\wd\verse@ii>\z@\poem@line\else +\noalign{% +\skip0=\poemextrabaselineskip +\vskip-\skip0 +\vskip-\baselineskip +}% +\fi\fi +\poem@lineparseend +\endgroup +\par +\vskip\baselineskip +\poemskip +\ifdim\new@poem@width<\poem@width +\global\let\poem@needrun\relax +\fi + \poem@write@aux{poem@width@\romannumeral\c@poem@no}{\new@poem@width}% +\ifx\AtEndDocument\undefined\poem@finish\fi +\@endparenv +} + + +\long\def\bidipoem@p@ftntext#1{% + \edef\@tempx{\the\bidipoem@p@ftn\noexpand\footnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidipoem@p@ftn\expandafter{\@tempx{#1}}}% +\long\def\bidipoem@p@LTRftntext#1{% + \edef\@tempxi{\the\bidipoem@p@ftn\noexpand\LTRfootnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidipoem@p@ftn\expandafter{\@tempxi{#1}}}% +\long\def\bidipoem@p@RTLftntext#1{% + \edef\@tempxii{\the\bidipoem@p@ftn\noexpand\RTLfootnotetext[\the\csname c@\@mpfn\endcsname]}% + \global\bidipoem@p@ftn\expandafter{\@tempxii{#1}}}% + +\long\def\bidipoem@p@xftntext[#1]#2{% + \global\bidipoem@p@ftn\expandafter{\the\bidipoem@p@ftn\footnotetext[#1]{#2}}} + +\long\def\bidipoem@p@xLTRftntext[#1]#2{% + \global\bidipoem@p@ftn\expandafter{\the\bidipoem@p@ftn\LTRfootnotetext[#1]{#2}}} + +\long\def\bidipoem@p@xRTLftntext[#1]#2{% + \global\bidipoem@p@ftn\expandafter{\the\bidipoem@p@ftn\RTLfootnotetext[#1]{#2}}} + +\def\bidipoem@p@xfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidipoem@p@xftntext[#1]} + +\def\bidipoem@p@xLTRfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidipoem@p@xLTRftntext[#1]} + +\def\bidipoem@p@xRTLfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\bidipoem@p@xRTLftntext[#1]} + + + +\newenvironment{traditionalpoem}{\@traditionalpoem}{\@endtraditionalpoem} +\expandafter\def\csname traditionalpoem*\endcsname{\let\poem@obeylines=\traditionalpoem@obeylines\traditionalpoem} +\expandafter\def\csname endtraditionalpoem*\endcsname{\endtraditionalpoem} +\def\poem@finish{% +\poem@write@aux{max@poem@no}{\number\c@poem@no}% +\ifx\poem@needrun\relax +\PackageWarning{bidipoem}{Unjustified poem. Rerun XeLaTeX to get poem right}% +\global\let\poem@needrun\undefined +\fi +} +\ifx\AtEndDocument\undefined\else\AtEndDocument\poem@finish\fi +\newcounter{poem@no}\setcounter{poem@no}{\z@} +\ifx\max@poem@no\undefined + \def\max@poem@no{0}% +\fi +\newcommand{\poem@prop}[1]{\@nameuse{#1@\romannumeral\c@poem@no}} +\newcommand{\poem@write@aux}[2]{% + \def\@x{\immediate\write\@auxout{\global\noexpand\@namedef{#1}{#2}}}% + \@x +} +\def\@modernpoem{% +\par +\begingroup +\parskip=\z@ +\parindent=\z@ +\def\[{\@settab\@tabplus\ignorespaces}% +\def\]{\@tabminus\ignorespaces}% +\def\newblock{\poemblocksep}% +\let\newpoem@tabcr\@tabcr +\def\modernpoem@par{% Redefine \par for possible \obeylines + \ifpoem@started\else + \ifdim\wd\@curline>\z@\global\poem@startedtrue\else + \@stopfield + \ifdim\wd\@curfield>\z@\global\poem@startedtrue\fi + \@contfield + \fi + \fi + \ifpoem@started\newpoem@tabcr\fi}% +\def\@tabcr{\global\poem@startedtrue\newpoem@tabcr}% +\global\poem@startedfalse +\csname poem@obeylines\endcsname +\let\poem@obeylines\relax +\begin{tabbing}% +} +\def\@endmodernpoem{% +\global\poem@startedfalse +\ifdim\wd\@curline>\z@\global\poem@startedtrue\else + \@stopfield + \ifdim\wd\@curfield>\z@\global\poem@startedtrue\fi + \@contfield +\fi +\ifpoem@started\else\let\@stopline\@stopfield\fi +\end{tabbing}% +\endgroup +\par + \if@noparlist \else + \ifdim\lastskip >\z@ + \@tempskipa\lastskip \vskip -\lastskip + \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip + \vskip\@tempskipa + \fi + \@endparenv + \fi +} +\newenvironment{modernpoem}{\@modernpoem}{\@endmodernpoem} +\expandafter\def\csname modernpoem*\endcsname{\let\poem@obeylines=\modernpoem@obeylines\modernpoem} +\expandafter\def\csname endmodernpoem*\endcsname{\endmodernpoem} +\gdef\@startfield{% +\global\setbox\@curfield\hbox\bgroup% +\let\@footnotetext\bidipoem@p@ftntext% +\let\@LTRfootnotetext\bidipoem@p@LTRftntext% +\let\@RTLfootnotetext\bidipoem@p@RTLftntext% +\let\@xfootnotenext\bidipoem@p@xftntext% +\let\@xfootnote\bidipoem@p@xfootnote% +\let\@xLTRfootnotenext\bidipoem@p@xLTRftntext% +\let\@xLTRfootnote\bidipoem@p@xLTRfootnote% +\let\@xRTLfootnotenext\bidipoem@p@xRTLftntext% +\let\@xRTLfootnote\bidipoem@p@xRTLfootnote% +\color@begingroup} +\gdef\@stopfield{% + \color@endgroup\egroup\global\bidipoem@p@ftn\expandafter{\expandafter}\the\bidipoem@p@ftn} +\gdef\@contfield{% +\global\setbox\@curfield\hbox\bgroup% +\let\@footnotetext\bidipoem@p@ftntext% +\let\@LTRfootnotetext\bidipoem@p@LTRftntext% +\let\@RTLfootnotetext\bidipoem@p@RTLftntext% +\let\@xfootnotenext\bidipoem@p@xftntext% +\let\@xfootnote\bidipoem@p@xfootnote% +\let\@xLTRfootnotenext\bidipoem@p@xLTRftntext% +\let\@xLTRfootnote\bidipoem@p@xLTRfootnote% +\let\@xRTLfootnotenext\bidipoem@p@xRTLftntext% +\let\@xRTLfootnote\bidipoem@p@xRTLfootnote% +\color@begingroup\unhbox\@curfield} +% \end{macrocode} +% \iffalse +%</bidipoem.sty> +%<*boek3-xetex-bidi.def> +%\fi +% \section{File \texttt{boek3-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{boek3-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for boek3 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\if@oldtoc +\renewcommand*\l@chapter[2]{% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup} +\else + \renewcommand*\l@chapter{\@regtocline{0}} +\fi +\renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont \abstractname} + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\renewcommand*\thesection{\thechapter\@SepMark\@arabic\c@section} +\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*\theequation{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi\@arabic\c@equation} +\renewcommand*\thefigure{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@figure} +\renewcommand*\thetable{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@table} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +% \end{macrocode} +% \iffalse +%</boek3-xetex-bidi.def> +%<*boek-xetex-bidi.def> +%\fi +% \section{File \texttt{boek-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{boek-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for boek class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\if@oldtoc +\renewcommand*\l@chapter[2]{% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup} +\else + \renewcommand*\l@chapter{\@regtocline{0}} +\fi +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont \abstractname} + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand*\thesection{\thechapter\@SepMark\@arabic\c@section} +\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*\theequation{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi\@arabic\c@equation} +\renewcommand*\thefigure{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@figure} +\renewcommand*\thetable{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@table} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +% \end{macrocode} +% \iffalse +%</boek-xetex-bidi.def> +%<*bookest-xetex-bidi.def> +%\fi +% \section{File \texttt{bookest-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{bookest-xetex-bidi.def}[2010/07/25 v0.4 bidi adaptations for bookest class for XeTeX engine] +\def\@makechapterhead#1{% + \vspace*{20\p@} + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + {\colorA\huge\scshape \@chapapp\space \thechapter} + \par\nobreak + \vskip 10\p@ + \fi + \fi + \interlinepenalty\@M + {\colorB\hrule} + \vskip 15\p@ + \if@RTL\begin{flushleft}\else\begin{flushright}\fi + {\colorA\Huge \bfseries #1}\par\nobreak + \if@RTL\end{flushleft}\else\end{flushright}\fi + \vskip 5\p@ + {\colorB\hrule} + \vskip 30\p@ + }} +\def\@makeschapterhead#1{% + \vspace*{20\p@} + {\parindent \z@ \raggedright \normalfont + {\colorB\hrule} + \vskip 15\p@ + \begin{center} + {\colorA\Huge \bfseries #1}\par\nobreak + \end{center} + \vskip 5\p@ + {\colorB\hrule} + \vskip 30\p@ + }} +% \end{macrocode} +% \iffalse +%</bookest-xetex-bidi.def> +%<*book-xetex-bidi.def> +%\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] +\renewenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\@ifclassloaded{bookest}{}{% + \if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi} +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{3em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand\theequation + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} +\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} +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \huge\bfseries \@chapapp\space \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \fi + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \normalfont + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\renewcommand\backmatter{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@mainmatterfalse} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \iffalse +%</book-xetex-bidi.def> +%<*breqn-xetex-bidi.def> +%\fi +% \section{File \texttt{breqn-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{breqn-xetex-bidi.def}[2016/09/12 v0.2 bidi adaptations for breqn package for XeTeX engine] +\def\@dmath[#1]{\if@RTL\@RTLfalse\fi% + \everydisplay\expandafter{\the\everydisplay \display@setup}% + \if@noskipsec \leavevmode \fi + \if@inlabel \leavevmode \global\@inlabelfalse \fi + \if\eq@group\else\eq@prelim\fi + \setkeys{breqn}{#1}% + \the\eqstyle + \eq@setnumber + \begingroup + \eq@setup@a + \eq@startup +} +\def\@dgroup[#1]{\if@RTL\@RTLfalse\fi% + \let\eq@group\@True \global\let\eq@GRP@first@dmath\@True + \global\GRP@queue\@emptytoks \global\setbox\GRP@box\box\voidb@x + \global\let\GRP@label\@empty + \global\grp@wdL\z@\global\grp@wdR\z@\global\grp@wdT\z@ + \global\grp@linewidth\z@\global\grp@wdNum\z@ + \global\let\grp@eqs@numbered\@False + \global\let\grp@aligned\@True + \global\let\grp@shiftnumber\@False + \eq@prelim + \setkeys{breqn}{#1}% + \if\grp@hasNumber \grp@setnumber \fi +} +\def\@dseries[#1]{\if@RTL\@RTLfalse\fi% + \let\display@setup\dseries@display@setup + % Question: should this be the default for dseries??? + \global\eq@wdCond\z@ + \@dmath[layout={M},#1]% + \mathsurround\z@\@@math \penalty\@Mi + \let\endmath\ends@math + \def\premath{% + \ifdim\lastskip<.3em \unskip + \else\ifnum\lastpenalty<\@M \dquad\fi\fi +}% + \def\postmath{\unpenalty\eq@addpunct \penalty\intermath@penalty \dquad \@ignoretrue}% +\ignorespaces +} +\def\eqnumform#1{\if@nonlatin\beginR\@RTLtrue\fi(#1\@@italiccorr)\if@nonlatin\endR\fi} +\renewenvironment{dsuspend}{% + \global\setbox\EQ@box\vbox\bgroup\if@nonlatin\@RTLtrue\fi \@parboxrestore + \parshape 1 \displayindent \displaywidth\relax + \hsize=\columnwidth \noindent\ignorespaces +}{% + \par\egroup + \global\setbox\GRP@box\vbox{% + \hbox{\copy\EQ@box\vtop{\unvbox\EQ@box}}% + \unvbox\GRP@box + }% + \global\GRP@queue\@xp{\the\GRP@queue + \@elt{\let\eq@isIntertext\@True}% + }% +} +% \end{macrocode} +% \iffalse +%</breqn-xetex-bidi.def> +%<*cals-xetex-bidi.def> +%\fi +% \section{File \texttt{cals-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{cals-xetex-bidi.def}[2016/11/30 v0.4 bidi adaptations for cals package for XeTeX engine] +\renewcommand\cals@setup@alignment[1]{% +\if c#1\relax \cals@vfillAdd \leftskip \cals@vfillAdd \rightskip \fi +\if l#1\relax \cals@vfillDrop\leftskip \cals@vfillDrop\rightskip \fi +\if r#1\relax \cals@vfillAdd \leftskip \cals@vfillDrop\rightskip \fi +} +\renewcommand\cals@table@alignment{\if@RTLtab r\else l\fi} +\renewenvironment{calstable}[1][\cals@table@alignment]{% +\if@RTLtab\cals@activate@rtl\fi +\let\cals@thead@tokens=\relax +\let\cals@tfoot@tokens=\relax +\let\cals@tbreak@tokens=\relax +\cals@tfoot@height=0pt \relax +\let\cals@last@context=n% +\let\cals@current@context=b% +\parindent=0pt \relax% +\cals@setup@alignment{#1}% +\cals@setpadding{Ag}\cals@setcellprevdepth{Al}\cals@set@tohsize% +%% Alignment inside is independent on center/flushright outside +\parfillskip=0pt plus1fil\relax +\let\cals@borderL=\relax +\let\cals@borderR=\relax +\let\cals@borderT=\relax +\let\cals@borderB=\relax +\setbox\cals@backup@row=\box\voidb@x\relax +\cals@AtBeginTable +}{% End of the table +\cals@tfoot@tokens\lastrule\cals@AtEndTable} +\renewcommand\alignL{% +\if@RTLtab + \cals@vfillAdd\cals@paddingL +\else + \cals@vfillDrop\cals@paddingL +\fi +\cals@vfillDrop\cals@paddingR} +\renewcommand\alignR{% +\if@RTLtab + \cals@vfillDrop\cals@paddingL +\else + \cals@vfillAdd\cals@paddingL +\fi +\cals@vfillDrop\cals@paddingR} +% \end{macrocode} +% \iffalse +%</cals-xetex-bidi.def> +%<*caption-xetex-bidi.def> +%\fi +% \section{File \texttt{caption-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{caption-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for caption package for XeTeX engine] +\let\@makecaption\caption@makecaption +% \end{macrocode} +% \iffalse +%</caption-xetex-bidi.def> +%<*caption3-xetex-bidi.def> +%\fi +% \section{File \texttt{caption3-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{caption3-xetex-bidi.def}[2013/04/01 v0.1 bidi adaptations for caption3 package for XeTeX engine] +\renewcommand*\caption@@par{% + \parindent\caption@parindent\hangindent\if@RTL-\fi\caption@hangindent}% +% \end{macrocode} +% \iffalse +%</caption3-xetex-bidi.def> +%<*colortbl-xetex-bidi.def> +%\fi +% \section{File \texttt{colortbl-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{colortbl-xetex-bidi.def}[2012/06/10 v0.2 bidi adaptations for colortbl package for XeTeX engine] +\def\CT@setup{% + \@tempdimb\col@sep + \@tempdimc\col@sep + \def\CT@color{% + \global\let\CT@do@color\CT@@do@color + \bidicolor}} +\def\@classz{\@classx + \@tempcnta \count@ + \prepnext@tok +\expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil + \@addtopreamble{\if@RTLtab\beginL\fi% + \setbox\z@\hbox\bgroup\bgroup\if@RTLtab\beginR\fi + \ifcase \@chnum + \hskip\stretch{.5}\kern\z@ + \d@llarbegin + \insert@column + \d@llarend\hskip\stretch{.5}\or + \d@llarbegin \insert@column \d@llarend \hfill \or + \hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or + $\vcenter + \@startpbox{\@nextchar}\insert@column \@endpbox $\or + \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or + \vbox \@startpbox{\@nextchar}\insert@column \@endpbox + \fi + \if@RTLtab\endR\fi\egroup\egroup +\begingroup + \CT@setup + \CT@column@color + \CT@row@color + \CT@cell@color + \CT@do@color +\endgroup + \@tempdima\ht\z@ + \advance\@tempdima\minrowclearance + \vrule\@height\@tempdima\@width\z@ + \unhbox\z@\if@RTLtab\endL\fi}% + \prepnext@tok} +% \end{macrocode} +% \iffalse +%</colortbl-xetex-bidi.def> +%<*color-xetex-bidi.def> +%\fi +% \section{File \texttt{color-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{color-xetex-bidi.def}[2013/04/08 v0.2 bidi adaptations for color package for XeTeX engine] +\long\def\color@b@x#1#2#3{% + \leavevmode\ifmmode\else\if@RTL\beginL\fi\fi + \setbox\z@\hbox{\kern\fboxsep{\set@color\if@RTL\beginR\fi#3\if@RTL\endR\fi}\kern\fboxsep}% + \dimen@\ht\z@\advance\dimen@\fboxsep\ht\z@\dimen@ + \dimen@\dp\z@\advance\dimen@\fboxsep\dp\z@\dimen@ + {#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}% + \box\z@}}\ifmmode\else\if@RTL\endL\fi\fi} +\def\normalcolor{\let\current@color\default@color\ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\set@color\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi} +\DeclareRobustCommand\color{% + \ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\@ifnextchar[\@undeclaredcolor\@declaredcolor} +\def\@declaredcolor#1{% + \@ifundefined{\string\color @#1}% + {\c@lor@error{`#1'}}% + {\expandafter\let\expandafter\current@color + \csname\string\color @#1\endcsname + \set@color}% + \ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi\ignorespaces} +\def\@undeclaredcolor[#1]#2{% + \@ifundefined{color@#1}% + {\c@lor@error{model `#1'}}% + {\csname color@#1\endcsname\current@color{#2}% + \set@color}% + \ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi\ignorespaces} +\DeclareRobustCommand\bidicolor{% + \@ifnextchar[\@bidiundeclaredcolor\@bidideclaredcolor} +\def\@bidiundeclaredcolor[#1]#2{% + \@ifundefined{color@#1}% + {\c@lor@error{model `#1'}}% + {\csname color@#1\endcsname\current@color{#2}% + \set@color}% + \ignorespaces} +\def\@bidideclaredcolor#1{% + \@ifundefined{\string\color @#1}% + {\c@lor@error{`#1'}}% + {\expandafter\let\expandafter\current@color + \csname\string\color @#1\endcsname + \set@color}% + \ignorespaces} +\def\color@box#1#2{\color@b@x\relax{\bidicolor#1{#2}}} +\def\color@fbox#1#2#3{% + \color@b@x{\fboxsep\z@\bidicolor#1{#2}\fbox}{\bidicolor#1{#3}}} +\def\color@setgroup{\begingroup\ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\set@color\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi} +% \end{macrocode} +% \iffalse +%</color-xetex-bidi.def> +%<*combine-xetex-bidi.def> +%\fi +% \section{File \texttt{combine-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{combine-xetex-bidi.def}[2011/09/23 v0.1 bidi adaptations for combine class for XeTeX engine] +\renewcommand{\c@ll@chapsecii}[2]{% + \if@RTL\advance\rightskip\@tempdima\else\advance\leftskip\@tempdima\fi + \if@RTL\hskip -\rightskip\else\hskip -\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par +} +\renewcommand{\c@ll@chapseci}{% + \setlength\@tempdima{0em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode +} +\renewenvironment{tocindent}[1]{% + \hangindent \if@RTL-\fi#1 \hangafter -100\relax}{} +% \end{macrocode} +% \iffalse +%</combine-xetex-bidi.def> +%<*crop-xetex-bidi.def> +%\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] +\renewcommand*\CROP@@ulc{% + \if@RTLmain% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(-40,0){\circle{10}} + \put(-30,-5){\line(0,1){10}} + \put(-35,0){\line(1,0){30}} + \put(-10,30){\circle{10}} + \put(-5,30){\line(1,0){10}} + \put(0,35){\line(0,-1){30}} + \end{picture}% + \else% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(-30,0){\circle{10}} + \put(-30,-5){\line(0,1){10}} + \put(-35,0){\line(1,0){30}} + \put(0,30){\circle{10}} + \put(-5,30){\line(1,0){10}} + \put(0,35){\line(0,-1){30}} + \end{picture}% + \fi% +} +\renewcommand*\CROP@@urc{% + \if@RTLmain% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(20,0){\circle{10}} + \put(30,-5){\line(0,1){10}} + \put(35,0){\line(-1,0){30}} + \put(-10,30){\circle{10}} + \put(-5,30){\line(1,0){10}} + \put(0,35){\line(0,-1){30}} + \end{picture}% + \else% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(30,0){\circle{10}} + \put(30,-5){\line(0,1){10}} + \put(35,0){\line(-1,0){30}} + \put(0,30){\circle{10}} + \put(-5,30){\line(1,0){10}} + \put(0,35){\line(0,-1){30}} + \end{picture}% + \fi% +} +\renewcommand*\CROP@@llc{% + \if@RTLmain% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(-40,0){\circle{10}} + \put(-30,-5){\line(0,1){10}} + \put(-35,0){\line(1,0){30}} + \put(-10,-30){\circle{10}} + \put(-5,-30){\line(1,0){10}} + \put(0,-35){\line(0,1){30}} + \end{picture}% + \else% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(-30,0){\circle{10}} + \put(-30,-5){\line(0,1){10}} + \put(-35,0){\line(1,0){30}} + \put(0,-30){\circle{10}} + \put(-5,-30){\line(1,0){10}} + \put(0,-35){\line(0,1){30}} + \end{picture}% + \fi% +} +\renewcommand*\CROP@@lrc{% + \if@RTLmain% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(20,0){\circle{10}} + \put(30,-5){\line(0,1){10}} + \put(35,0){\line(-1,0){30}} + \put(-10,-30){\circle{10}} + \put(-5,-30){\line(1,0){10}} + \put(0,-35){\line(0,1){30}} + \end{picture}% + \else% + \begin{picture}(0,0) + \unitlength\p@\thinlines + \put(30,0){\circle{10}} + \put(30,-5){\line(0,1){10}} + \put(35,0){\line(-1,0){30}} + \put(0,-30){\circle{10}} + \put(-5,-30){\line(1,0){10}} + \put(0,-35){\line(0,1){30}} + \end{picture}% + \fi% +} +\@ifpackagewith{crop}{cam}{% +\CROP@execopt{cam}% +}{} +% \end{macrocode} +% \iffalse +%</crop-xetex-bidi.def> +%<*cutwin-xetex-bidi.def> +%\fi +% \section{File \texttt{cutwin-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{cutwin-xetex-bidi.def}[2011/11/12 v0.1 bidi adaptations for cutwin package for XeTeX engine] +\renewcommand*{\c@twcompctr}[2]{% + \def\c@twfirst{1} + \loop\advance\c@twwinlines\m@ne + \setbox\c@twslicea=\vsplit#1 to\baselineskip + \setbox\c@twsliceb=\vsplit#1 to\baselineskip + \c@twprune{\c@twslicea}{\c@twlftside}% + \c@twprune{\c@twsliceb}{\c@twrtside}% + \ifnum\c@twfirst=\@ne + \setbox#2=\vbox{\unvbox#2\hbox + to\hsize{\if@RTL\box\c@twsliceb\else\box\c@twslicea\fi\pageinwindow\hfil\if@RTL\box\c@twslicea\else\box\c@twsliceb\fi}}% + \else + \setbox#2=\vbox{\unvbox#2\hbox + to\hsize{\if@RTL\box\c@twsliceb\else\box\c@twslicea\fi\hfil\if@RTL\box\c@twslicea\else\box\c@twsliceb\fi}}% + \fi + \def\c@twfirst{2} + \ifnum\c@twwinlines>\z@\repeat} +\renewcommand*{\c@twcompoddctr}[2]{% + \def\c@twrounds{1} + \def\c@twfirst{1} + \@for\c@twlspec:=\c@twb\do{% + \ifnum\c@twrounds=1 + \setbox\c@twslicea=\vsplit#1 to\baselineskip % first of pair + \c@twprune{\c@twslicea}{\c@twlspec}% + \def\c@twrounds{2} + \else + \setbox\c@twsliceb=\vsplit#1 to\baselineskip % second of pair + \c@twprune{\c@twsliceb}{\c@twlspec}% + \ifnum\c@twfirst=1 + \setbox#2=\vbox{\unvbox#2\hbox + to\hsize{\if@RTL\box\c@twsliceb\else\box\c@twslicea\fi\hfil\picinwindow\hfil\if@RTL\box\c@twslicea\else\box\c@twsliceb\fi}}% + \def\c@twfirst{2} + \else + \setbox#2=\vbox{\unvbox#2\hbox + to\hsize{\if@RTL\box\c@twsliceb\else\box\c@twslicea\fi\hfil\if@RTL\box\c@twslicea\else\box\c@twsliceb\fi}}% + \fi + \def\c@twrounds{1} + \fi}} +% \end{macrocode} +% \iffalse +%</cutwin-xetex-bidi.def> +%<*cuted-xetex-bidi.def> +%\fi +% \section{File \texttt{cuted-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{cuted-xetex-bidi.def}[2017/05/06 v0.6 bidi adaptations for cuted package for XeTeX engine] + +\def\RTL@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hskip \columnwidth + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hskip -\textwidth + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}% + \hskip \columnsep + \hskip \columnwidth }}% + \ifvoid\hold@viper + \else + \setbox\@outputbox \vbox to\textheight{% + \box\hold@viper + \box\@outputbox + \vss + }% + \fi + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \ifvoid\@viper + \else + \global\setbox\@viper\vbox{% + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput + \fi + \endgroup + \fi}% + +\def\LTR@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}}}% + \ifvoid\hold@viper + \else + \setbox\@outputbox \vbox to\textheight{% + \box\hold@viper + \box\@outputbox + \vss + }% + \fi + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \ifvoid\@viper + \else + \global\setbox\@viper\vbox{% + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput + \fi + \endgroup + \fi}% + + +\def \@addviper {% + \if@firstcolumn + \@insertfalse + \@reqcolroom .5\@pageht + \ht@viper\@reqcolroom + \advance \@reqcolroom \ht\@viper + \advance \@reqcolroom \stripsep + \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi +%% + \@tempdimb \ht@viper + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}% + \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% + \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb\vss}% + \wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}% + \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat + \wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}% + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\@holdpg to\@tempdimb\vss}% +%% + \setbox\@tempboxa \vbox {% + \hb@xt@\textwidth {% + \if@RTLmain% + \hskip \columnwidth + \hfil \vrule width\columnseprule \hfil + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hskip -\textwidth + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\@holdpg\vss} \hss}% + \hskip \columnsep + \hskip \columnwidth + \else% + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\@holdpg\vss} \hss}% + \fi}% + }% + \ifvoid\hold@viper + \global\setbox\hold@viper \vbox {% + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \else + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \fi + \ifdim \@colroom>\@reqcolroom + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \box\@viper + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \@inserttrue + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \ifdim \@colht<2.5\baselineskip + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage (1 stulpelis)}% + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \else + \global \vsize \@colht + \global \@colroom \@colht + \check@floats + \ifdim\@tempdima>\z@ + \global\advance\@colroom by-\@tempdima + \fi + \ifdim\@colroom<\z@ + \global\@colroom 1pt + \ifdim\@tempdima>\@colht + \@latex@warning@no@line {TOP ir/ar BOT FLOAT's + netelpa lape \thepage (1 stulpelis)}% + \fi + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \fi + \fi + \fi + \else + \@insertfalse + \@reqcolroom\@colht + \advance\@reqcolroom \@pageht + \ht@viper.5\@reqcolroom + \@reqcolroom\ht@viper + \advance \@reqcolroom \ht\@viper + \advance \@reqcolroom \stripsep + \if@flushend@auto@baselineskip + \setbox\@tempboxa\vbox{\unvcopy\@leftcolumn + \global\lastskip@d\lastskip + \global\lastskip@b\lastskip + \loop + \global\lastskip@a\lastskip@b + \unskip\unpenalty + \global\lastskip@b\lastskip + \global\advance\lastskip@d by\lastskip + \ifdim\lastskip@b=-\lastskip@a + \global\advance\lastskip@d by-\lastskip + \else + \repeat + \ifdim\lastskip@b=-\lastskip@a + \ifdim\lastskip@b=\z@ + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\ht\lastbox@a + \global\advance\lastskip@d by\lastskip + \unskip\unpenalty + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\dp\lastbox@a + \else + \global\lastskip@d\lastskip + \global\advance\lastskip@d by\topskip + \fi + \fi + \global\advance\lastskip@d by-\topskip + }% + \ifdim\ht\@holdpg>\@colht + \global\setbox\@holdpg\vbox{\unvbox\@leftcolumn\unskip\unpenalty + \par\eject + \vbox to \@colht{\unvbox\@holdpg\unskip}% + }% + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn\unskip\unpenalty + \vskip\lastskip@d + \the\At@ViperColsBreak + \unvbox\@holdpg + \unskip + }% + \fi + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn + \setbox\@tempboxa\lastbox + \on@stripcols@break + \the\At@ViperColsBreak + \unvbox\@holdpg + }% + \fi + \global\At@ViperColsBreak{}% + \ht@viper .5\ht\@holdpg + \ifdim \ht@viper>\@colht + \ht@viper \@colht + \fi + \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi +%% + \@tempdimb \ht@viper + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb + \vss + \vsplit\v@aaa to\@tempdimb + }% + \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% + \ifvoid\v@aaa + \else + \advance\@tempdimb 1\p@ + \repeat + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\v@aaa to\@tempdimb\vss}% + \wlog{(2)Left:\the\ht\v@ccc\space + Right:\the\ht\v@aaa\space + Output:\the\@tempdimb + }% + \ifdim\ht\v@ccc<\ht\v@aaa + \@tempdimb \the\ht\v@aaa + \repeat + \wlog{- LAST -^^JLeft:\the\ht\v@ccc + ^^JRight:\the\ht\v@aaa + ^^JOutput:\the\@tempdimb + }% + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\@holdpg to\@tempdimb\vss}% + \setbox\@tempboxa\vbox{% + \hb@xt@\textwidth {% + \if@RTLmain% + \hskip \columnwidth + \hfil \vrule width\columnseprule \hfil + \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hskip -\textwidth + \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% + \hskip \columnsep + \hskip \columnwidth + \else + \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% + \fi% + }% + }% + \ifvoid\hold@viper + \global\setbox\hold@viper \vbox {% + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \else + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \fi + \ifdim \@colht>\@reqcolroom + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \box\@viper + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \@inserttrue + \global\@firstcolumntrue + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \ifdim \@colht<2.5\baselineskip + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage (2 stulpelis)}% + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \else + \global \vsize \@colht + \global \@colroom \@colht + \check@floats + \ifdim\@tempdima>\z@ + \global\advance\@colroom by-\@tempdima + \fi + \ifdim\@colroom<\z@ + \global\@colroom 1pt + \ifdim\@tempdima>\@colht + \@latex@warning@no@line {TOP ir/ar BOT FLOAT's + netelpa lape \thepage (2 stulpelis)}% + \fi + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \fi + \fi + \fi + \fi + \if@insert + \else + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \csname viper@top@hook\endcsname + \vsplit\@viper to \@colht + \vss + }% + \vbox{}% + \global\@firstcolumnfalse + \newpage + \fi + } +% \end{macrocode} +% \iffalse +%</cuted-xetex-bidi.def> +%<*cvthemebidicasual.sty> +%\fi +% \section{File \texttt{cvthemebidicasual.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cvthemebidicasual} +\DeclareOption{blue}{} +\newif\if@colourorange\@colourorangefalse +\DeclareOption{orange}{\@colourorangetrue} +\newif\if@colourgreen\@colourgreenfalse +\DeclareOption{green}{\@colourgreentrue} +\newif\if@colourred\@colourredfalse +\DeclareOption{red}{\@colourredtrue} +\newif\if@colourgrey\@colourgreyfalse +\DeclareOption{grey}{\@colourgreytrue} +\DeclareOption*{ + \PackageWarning{cvthemebidicasual}{Unknown option ‘\CurrentOption’}} +\ExecuteOptions{colour} +\ProcessOptions\relax +\renewcommand*{\listitemsymbol}{\textbullet} +\definecolor{firstnamecolor}{rgb}{0.65,0.65,0.65} +\familynamecolour{808080} +\firstnamecolour{A9A9A9} +\quotecolour{696969} +\addresscolour{696969} +\definecolor{sectionrectanglecolor}{rgb}{0.25,0.50,0.75} +\sectiontitlecolour{1E90FF} +\subsectioncolour{4682B4} +\definecolor{rulecolour}{gray}{0.6} +\definecolor{footersymbolcolour}{rgb}{0.25,0.50,0.75} +\definecolor{footersymbolcolor}{rgb}{0.25,0.50,0.75} +\if@colourorange + \definecolor{sectionrectanglecolor}{rgb}{1.00,0.65,0.20} + \definecolor{sectionrectanglecolor}{rgb}{1.00,0.65,0.20} + \sectiontitlecolour{FF8C00} + \subsectioncolour{FF8C00} + \definecolor{footersymbolcolour}{rgb}{0.95,0.55,0.15} + \definecolor{footersymbolcolor}{rgb}{0.95,0.55,0.15}\fi +\if@colourgreen + \definecolor{sectionrectanglecolor}{rgb}{0.55,0.85,0.35} + \definecolor{sectionrectanglecolour}{rgb}{0.55,0.85,0.35} + \sectiontitlecolour{008000} + \subsectioncolour{008000} + \definecolor{footersymbolcolour}{rgb}{0.30,0.65,0.15} + \definecolor{footersymbolcolor}{rgb}{0.30,0.65,0.15}\fi +\if@colourred + \definecolor{sectionrectanglecolor}{rgb}{1.00,0.30,0.30} + \definecolor{sectionrectanglecolour}{rgb}{1.00,0.30,0.30} + \sectiontitlecolour{FF0000} + \subsectioncolour{FF0000} + \definecolor{footersymbolcolour}{rgb}{0.95,0.20,0.20} + \definecolor{footersymbolcolor}{rgb}{0.95,0.20,0.20}\fi +\if@colourgrey + \definecolor{sectionrectanglecolor}{rgb}{0.75,0.75,0.75} + \definecolor{sectionrectanglecolour}{rgb}{0.75,0.75,0.75} + \sectiontitlecolour{808080} + \subsectioncolour{808080} + \definecolor{footersymbolcolour}{rgb}{0.35,0.35,0.35} + \definecolor{footersymbolcolor}{rgb}{0.35,0.35,0.35}\fi +\renewcommand*{\ttdefault}{pcr} +\renewcommand*{\firstnamefont}{\fontsize{38}{40}\mdseries\upshape} +\renewcommand*{\familynamefont}{\firstnamefont} +\renewcommand*{\addressfont}{\normalsize\mdseries\slshape} +\renewcommand*{\quotefont}{\large\slshape} +\renewcommand*{\sectionfont}{\Large\mdseries\upshape} +\renewcommand*{\subsectionfont}{\large\mdseries\upshape} +\renewcommand*{\maketitle}{% + {% + \ifthenelse{\isundefined{\@photo}}% + {}% + {{\color{firstnamecolor}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}% + \hfill% + \bidi@raggedleft{\firstnamestyle{\@firstname}~\familynamestyle{\@familyname}}\\[-.35em]}% + {\color{firstnamecolor}\rule{\textwidth}{.25ex}\\[2.5em]}% + \ifthenelse{\isundefined{\@quote}}% + {}% + {\centering{\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}}\\[2.5em]}% + }% +\newif\if@firstfooterelement\@firstfooterelementtrue +\providecommand*{\footersymbol}{} +\renewcommand*{\footersymbol}{% + \if@firstfooterelement% + \else% + { ~~\color{footersymbolcolor}\textbullet~~~}\fi} +\providecommand*{\makefooter}{} +\renewcommand*{\makefooter}{% + \fancypagestyle{plain}{% + \fancyfoot[c]{% + \parbox{0.8\textwidth}{% + \centering% + \addressfont\@addresscolour% + \ifthenelse{\isundefined{\@address}}{}{% + \addresssymbol~\@address\\% + \@firstfooterelementfalse}% + \ifthenelse{\isundefined{\@mobile}}{}{\mobilesymbol~\@mobile\@firstfooterelementfalse}% + \ifthenelse{\isundefined{\@phone}}{}{\footersymbol\phonesymbol~\@phone\@firstfooterelementfalse}% + \ifthenelse{\isundefined{\@fax}}{}{\footersymbol\faxsymbol~\@fax\@firstfooterelementfalse}% + \ifthenelse{\isundefined{\@email}}{}{\footersymbol\emailsymbol~\emaillink{\@email}\@firstfooterelementfalse}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\footersymbol\@extrainfo\@firstfooterelementfalse}}}% + }% + \pagestyle{plain}} +\AtBeginDocument{\makefooter} +% \end{macrocode} +% \iffalse +%</cvthemebidicasual.sty> +%<*cvthemebidiclassic.sty> +%\fi +% \section{File \texttt{cvthemebidiclassic.sty}} +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{cvthemebidiclassic} +\DeclareOption{blue}{} +\newif\if@colourorange\@colourorangefalse +\DeclareOption{orange}{\@colourorangetrue} +\newif\if@colourgreen\@colourgreenfalse +\DeclareOption{green}{\@colourgreentrue} +\newif\if@colourred\@colourredfalse +\DeclareOption{red}{\@colourredtrue} +\newif\if@colourgrey\@colourgreyfalse +\DeclareOption{grey}{\@colourgreytrue} +\DeclareOption*{ + \PackageWarning{cvthemebidiclassic}{Unknown option ‘\CurrentOption’}} +\ExecuteOptions{colour} +\ProcessOptions\relax +\renewcommand*{\listitemsymbol}{\textbullet} +\firstnamecolour{} +\familynamecolour{} +\titlecolour{808080} +\quotecolour{696969} +\addresscolour{696969} +\definecolor{sectionrectanglecolour}{rgb}{0.25,0.50,0.75} +\definecolor{sectionrectanglecolor}{rgb}{0.25,0.5,0.75} +\sectiontitlecolour{1E90FF} +\subsectioncolour{4682B4} +\if@colourorange + \addresscolour{FF8C00} + \definecolor{sectionrectanglecolour}{rgb}{1.00,0.65,0.20} + \definecolor{sectionrectanglecolor}{rgb}{1,0.65,0.20} + \sectiontitlecolour{FF8C00} + \subsectioncolour{FF8C00}\fi +\if@colourgreen + \addresscolour{008000} + \definecolor{sectionrectanglecolour}{rgb}{0.55,0.85,0.35} + \definecolor{sectionrectanglecolor}{rgb}{0.55,0.85,0.35} + \sectiontitlecolour{008000} + \subsectioncolour{008000}\fi +\if@colourred + \addresscolour{FF0000} + \definecolor{sectionrectanglecolour}{rgb}{1.00,0.30,0.30} + \definecolor{sectionrectanglecolor}{rgb}{1.00,0.30,0.30} + \sectiontitlecolour{FF0000} + \subsectioncolour{FF0000}\fi +\if@colourgrey + \addresscolour{808080} + \definecolor{sectionrectanglecolour}{rgb}{0.75,0.75,0.75} + \definecolor{sectionrectanglecolor}{rgb}{0.75,0.75,0.75} + \sectiontitlecolour{808080} + \subsectioncolour{808080}\fi +\renewcommand*{\ttdefault}{pcr} +\renewcommand*{\firstnamefont}{\fontsize{34}{36}\mdseries\upshape} +\renewcommand*{\titlefont}{\LARGE\mdseries\slshape} +\renewcommand*{\addressfont}{\normalsize\mdseries\slshape} +\renewcommand*{\familynamefont}{\firstnamefont} +\renewcommand*{\quotefont}{\large\slshape} +\renewcommand*{\sectionfont}{\Large\mdseries\upshape} +\renewcommand*{\subsectionfont}{\large\mdseries\upshape} +\newlength{\maketitlenamemaxwidth} +\setlength{\maketitlenamemaxwidth}{.525\textwidth} +\newlength{\maketitlenamefullwidth} +\settowidth{\maketitlenamefullwidth}{\firstnamestyle{\@firstname~}\familynamestyle{\@familyname}} +\newlength{\maketitlenamewidth} +\ifnum\maketitlenamemaxwidth<\maketitlenamefullwidth\setlength{\maketitlenamewidth}{\maketitlenamemaxwidth}\else\setlength{\maketitlenamewidth}{\maketitlenamefullwidth}\fi +\newlength{\maketitlepicturewidth} +\setlength{\maketitlepicturewidth}{\@photowidth} +\newlength{\maketitledetailswidth} +\renewcommand*{\recomputethemelengths}{% + \setlength{\maketitledetailswidth}{\textwidth}% + \addtolength{\maketitledetailswidth}{-\maketitlenamewidth}% + \addtolength{\maketitledetailswidth}{-\separatorcolumnwidth}% + \addtolength{\maketitledetailswidth}{-\maketitlepicturewidth}} +\recomputethemelengths +\newif\if@firstdetailselement\@firstdetailselementtrue +\newcommand*{\maketitledetailsnewline}{ + \if@firstdetailselement% + \@firstdetailselementfalse% + \else% + \\[.2em]\fi} +\renewcommand*{\maketitle}{% + % name and title + \begin{minipage}[b]{\maketitlenamewidth}% + \firstnamestyle{\@firstname~}\familynamestyle{\@familyname}% + \ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}% + \end{minipage}% + % optional data + \begin{minipage}[b]{\maketitledetailswidth}% + \bidi@raggedleft\addressfont\@addresscolour% + \ifthenelse{\isundefined{\@address}}{}{% + \maketitledetailsnewline% + \addresssymbol~\\\@address}% + \ifthenelse{\isundefined{\@mobile}}{}{\maketitledetailsnewline\mobilesymbol~\@mobile}% + \ifthenelse{\isundefined{\@phone}}{}{\maketitledetailsnewline\phonesymbol~\@phone}% + \ifthenelse{\isundefined{\@fax}}{}{\maketitledetailsnewline\faxsymbol~\@fax}% + \ifthenelse{\isundefined{\@email}}{}{\maketitledetailsnewline\emailsymbol~\emaillink{\@email}}% + \ifthenelse{\isundefined{\@extrainfo}}{}{\maketitledetailsnewline\@extrainfo}% + \end{minipage}% + % optional photo + \ifthenelse{\isundefined{\@photo}}% + {}% + {\hspace*{\separatorcolumnwidth}\color{firstnamecolor}\framebox{\includegraphics[width=\maketitlepicturewidth]{\@photo}}}\\[3em]% + % optional quote + \ifthenelse{\isundefined{\@quote}}% + {}% + {\centering{\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}}\\[2.5em]}% + } +% \end{macrocode} +% \iffalse +%</cvthemebidiclassic.sty> +%<*dblfnote-xetex-bidi.def> +%\fi +% \section{File \texttt{dblfnote-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{dblfnote-xetex-bidi.def}[2012/12/12 v0.3 bidi adaptations for dblfnote package for XeTeX engine] +\let\autofootnoterule\relax +\let\rightfootnoterule\relax +\let\leftfootnoterule\relax +\let\textwidthfootnoterule\relax +\let\LRfootnoterule\relax +\def\footnoterule{\kern-3\p@ + \hrule \@width \DFNcolumnwidth \kern 2.6\p@}% +\AtBeginDocument{\let\dfn@latex@footnotetext\@footnotetext +\let\@footnotetext\dfn@footnotetext} +\long\def\dfn@LTRfootnotetext#1{{\setbox\dfn@boxa\vbox{ + \let\insert\dfn@gobble + \columnwidth\DFNcolumnwidth \hbadness\c@DFNsloppiness + \def\@makefnmark{\smash{\dfn@makefnmark}} + \dfn@latex@LTRfootnotetext{#1}\par \boxmaxdepth\dfn@fnmaxdp}% + \dfn@dima\ht\dfn@boxa \advance\dfn@dima\dp\dfn@boxa + \ifdim\dfn@dima>\z@\else + \dfn@dima1sp\relax + \setbox\dfn@boxa\vbox{\vbox to1sp{\unvbox\dfn@boxa\vfil}}\fi + \global\setbox\dfn@ins\vbox{\boxmaxdepth\dfn@fnmaxdp + \ifvoid\dfn@ins\else + \unvbox\dfn@ins \allowbreak \nointerlineskip \fi + \ifdfn@allowcbreak \unvbox \else \box \fi \dfn@boxa}% + \setbox\dfn@boxa\copy\dfn@ins + \dfn@split{.5\ht\dfn@boxa}\dfn@boxa\dfn@boxb\dfn@fnmaxdp\footnotesep + \advance\@tempdima\@tempdimb \@tempdimb\@tempdima + \advance\@tempdima-\dfn@fnht \global\dfn@fnht\@tempdimb + \insert\footins{\floatingpenalty\@MM \vbox to\@tempdima{}}% + \xdef\dfn@list{\dfn@list\@elt{\number\dfn@dima}{\number\@tempdima}}}} +\AtBeginDocument{\let\dfn@latex@LTRfootnotetext\@LTRfootnotetext +\let\@LTRfootnotetext\dfn@LTRfootnotetext} +\long\def\dfn@RTLfootnotetext#1{{\setbox\dfn@boxa\vbox{ + \let\insert\dfn@gobble + \columnwidth\DFNcolumnwidth \hbadness\c@DFNsloppiness + \def\@makefnmark{\smash{\dfn@makefnmark}} + \dfn@latex@RTLfootnotetext{#1}\par \boxmaxdepth\dfn@fnmaxdp}% + \dfn@dima\ht\dfn@boxa \advance\dfn@dima\dp\dfn@boxa + \ifdim\dfn@dima>\z@\else + \dfn@dima1sp\relax + \setbox\dfn@boxa\vbox{\vbox to1sp{\unvbox\dfn@boxa\vfil}}\fi + \global\setbox\dfn@ins\vbox{\boxmaxdepth\dfn@fnmaxdp + \ifvoid\dfn@ins\else + \unvbox\dfn@ins \allowbreak \nointerlineskip \fi + \ifdfn@allowcbreak \unvbox \else \box \fi \dfn@boxa}% + \setbox\dfn@boxa\copy\dfn@ins + \dfn@split{.5\ht\dfn@boxa}\dfn@boxa\dfn@boxb\dfn@fnmaxdp\footnotesep + \advance\@tempdima\@tempdimb \@tempdimb\@tempdima + \advance\@tempdima-\dfn@fnht \global\dfn@fnht\@tempdimb + \insert\footins{\floatingpenalty\@MM \vbox to\@tempdima{}}% + \xdef\dfn@list{\dfn@list\@elt{\number\dfn@dima}{\number\@tempdima}}}} +\AtBeginDocument{\let\dfn@latex@RTLfootnotetext\@RTLfootnotetext +\let\@RTLfootnotetext\dfn@RTLfootnotetext} +\def\dfn@RTLmakecol{{\ifvoid\footins\else + \dfn@dima\ht\footins + \@tempcnta\z@ \dfn@countins + \@tempdima\z@ \let\@elt\dfn@elt@getht + \dfn@list\@nil + \ifdim\@tempdima=\z@\else + \dfn@split\@tempdima\dfn@ins\dfn@boxa\z@\z@ + \global\setbox\dfn@ins\box\dfn@ins + \@tempswatrue + \ifdfn@trysingle + \setbox\dfn@boxb\vbox{\unvcopy\@cclv}\@tempdima\@colroom + \advance\@tempdima-\ht\dfn@boxb \advance\@tempdima-\dp\dfn@boxb + \advance\@tempdima-\skip\footins + \advance\@tempdima-\ht\dfn@boxa + \ifdim\@tempdima<\z@\else \@tempswafalse + \global\setbox\footins\vbox{\boxmaxdepth\dfn@fnmaxdp + \footnoterule \unvbox\dfn@boxa}\fi\fi + \if@tempswa + \dfn@split{\dfn@dima}\dfn@boxa\dfn@boxb\dfn@fnmaxdp\footnotesep + \global\setbox\footins\vbox{\hbox{% + \hskip \DFNcolumnwidth + \hskip\DFNcolumnsep + \hbox to\DFNcolumnwidth{\vbox to\@tempdima{\footnoterule + \unvbox\dfn@boxb\vss}\hss} + \hskip -\textwidth + \hbox to\DFNcolumnwidth{\ifvoid\dfn@boxa\else + \vbox to\@tempdima{ + \setbox\@tempboxa\vbox{\footnoterule} + \ifdfn@ruleboth \unvbox\@tempboxa + \else \@tempdima\ht\@tempboxa + \advance\@tempdima\dp\@tempboxa + \vskip\@tempdima + \prevdepth\dp\@tempboxa \fi + \unvbox\dfn@boxa\vss}\fi\hss} + \hskip \DFNcolumnsep + \hskip \DFNcolumnwidth}}\fi\fi + \global\dfn@fnht\z@ + \ifx\dfn@list\@empty\else + \let\@elt\dfn@elt@adjust \dfn@dima\z@ \dfn@dimb\z@ + \dfn@list \global\advance\dfn@fnht\dfn@dimb + \let\@elt\relax + \ifdim\dfn@dimb>\z@ + \xdef\dfn@list{\@elt{0}{\number\dfn@dimb}\dfn@list}% + \insert\footins{\floatingpenalty\@MM + \vbox to\dfn@dimb{}}\fi + \ifdim\dfn@fnht>\@tempdima + \@tempdimb\@tempdima \advance\@tempdimb-\dfn@fnht + \global\dfn@fnht\@tempdima + \xdef\dfn@list{\dfn@list\@elt{0}{\number\@tempdimb}}% + \xdef\dfn@afteroutput{\insert\footins{ + \floatingpenalty\@MM + \vbox to\number\@tempdimb sp{}}% + \global\let\noexpand\dfn@afteroutput\relax}% + \fi\fi + \fi}% + \let\footnoterule\relax \dfn@latex@makecol + \let\footnoterule\dfn@footnoterule} +\def\dfn@LTRmakecol{{\ifvoid\footins\else + \dfn@dima\ht\footins + \@tempcnta\z@ \dfn@countins + \@tempdima\z@ \let\@elt\dfn@elt@getht + \dfn@list\@nil + \ifdim\@tempdima=\z@\else + \dfn@split\@tempdima\dfn@ins\dfn@boxa\z@\z@ + \global\setbox\dfn@ins\box\dfn@ins + \@tempswatrue + \ifdfn@trysingle + \setbox\dfn@boxb\vbox{\unvcopy\@cclv}\@tempdima\@colroom + \advance\@tempdima-\ht\dfn@boxb \advance\@tempdima-\dp\dfn@boxb + \advance\@tempdima-\skip\footins + \advance\@tempdima-\ht\dfn@boxa + \ifdim\@tempdima<\z@\else \@tempswafalse + \global\setbox\footins\vbox{\boxmaxdepth\dfn@fnmaxdp + \footnoterule \unvbox\dfn@boxa}\fi\fi + \if@tempswa + \dfn@split{\dfn@dima}\dfn@boxa\dfn@boxb\dfn@fnmaxdp\footnotesep + \global\setbox\footins\vbox{\hbox{% + \hbox to\DFNcolumnwidth{\vbox to\@tempdima{\footnoterule + \unvbox\dfn@boxb\vss}\hss}\hskip\DFNcolumnsep + \hbox to\DFNcolumnwidth{\ifvoid\dfn@boxa\else + \vbox to\@tempdima{ + \setbox\@tempboxa\vbox{\footnoterule} + \ifdfn@ruleboth \unvbox\@tempboxa + \else \@tempdima\ht\@tempboxa + \advance\@tempdima\dp\@tempboxa + \vskip\@tempdima + \prevdepth\dp\@tempboxa \fi + \unvbox\dfn@boxa\vss}\fi\hss}}}\fi\fi + \global\dfn@fnht\z@ + \ifx\dfn@list\@empty\else + \let\@elt\dfn@elt@adjust \dfn@dima\z@ \dfn@dimb\z@ + \dfn@list \global\advance\dfn@fnht\dfn@dimb + \let\@elt\relax + \ifdim\dfn@dimb>\z@ + \xdef\dfn@list{\@elt{0}{\number\dfn@dimb}\dfn@list}% + \insert\footins{\floatingpenalty\@MM + \vbox to\dfn@dimb{}}\fi + \ifdim\dfn@fnht>\@tempdima + \@tempdimb\@tempdima \advance\@tempdimb-\dfn@fnht + \global\dfn@fnht\@tempdima + \xdef\dfn@list{\dfn@list\@elt{0}{\number\@tempdimb}}% + \xdef\dfn@afteroutput{\insert\footins{ + \floatingpenalty\@MM + \vbox to\number\@tempdimb sp{}}% + \global\let\noexpand\dfn@afteroutput\relax}% + \fi\fi + \fi}% + \let\footnoterule\relax \dfn@latex@makecol + \let\footnoterule\dfn@footnoterule} +\renewcommand{\dfn@makecol}{\if@RTLmain\dfn@RTLmakecol\else\dfn@LTRmakecol\fi} +\newcommand{\RTLdfnmakecol}{\renewcommand{\dfn@makecol}{\dfn@RTLmakecol}} +\newcommand{\LTRdfnmakecol}{\renewcommand{\dfn@makecol}{\dfn@LTRmakecol}} +\DFNalwaysdouble +% \end{macrocode} +% \iffalse +%</dblfnote-xetex-bidi.def> +%<*diagbox-xetex-bidi.def> +%\fi +% \section{File \texttt{diagbox-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{diagbox-xetex-bidi.def}[2017/12/30 v0.2 bidi adaptations for diagbox package for XeTeX engine] +\bidi@patchcmd{\diagbox@double}{% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} +}{\bidi@@diagbox@double@ii}{}{} +\bidi@patchcmd{\diagbox@double}{% + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} +}{\bidi@@diagbox@double@iii}{}{} +\newcommand*{\bidi@@diagbox@double@ii}{% + \if@RTL + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepl}}} + \else + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} + \fi +} +\newcommand*{\bidi@@diagbox@double@iii}{% + \if@RTL + \begin{tabular}{@{\hspace{\diagbox@insepr}}>{\diagbox@font}l@{}} + \else + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} + \fi +} +\bidi@patchcmd{\diagbox@triple@setbox@NW}{% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} +}{\bidi@@diagbox@triple@setbox@NW@tabular@i@ii}{}{} +\bidi@patchcmd{\diagbox@triple@setbox@NW}{% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} +}{\bidi@@diagbox@triple@setbox@NW@tabular@i@ii}{}{} +\bidi@patchcmd{\diagbox@triple@setbox@NW}{% + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} +}{\bidi@@diagbox@triple@setbox@NW@tabular@iii}{}{} +\newcommand*{\bidi@@diagbox@triple@setbox@NW@tabular@i@ii}{% + \if@RTL + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepl}}} + \else + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} + \fi} +\newcommand*{\bidi@@diagbox@triple@setbox@NW@tabular@iii}{% + \if@RTL + \begin{tabular}{@{\hspace{\diagbox@insepr}}>{\diagbox@font}l@{}} + \else + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} + \fi} +\let\diagbox@triple@setbox@SW\diagbox@triple@setbox@NW +\bidi@patchcmd{\diagbox@triple@setbox@SE}{% + \begin{tabular}{@{\hspace{\diagbox@insepl}}l@{}}% +}{\bidi@@diagbox@triple@setbox@SE@tabular@i}{}{} +\bidi@patchcmd{\diagbox@triple@setbox@SE}{% + \begin{tabular}{@{}r@{\hspace{\diagbox@insepr}}}% +}{\bidi@@diagbox@triple@setbox@SE@tabular@ii@iii}{}{} +\bidi@patchcmd{\diagbox@triple@setbox@SE}{% + \begin{tabular}{@{}r@{\hspace{\diagbox@insepr}}}% +}{\bidi@@diagbox@triple@setbox@SE@tabular@ii@iii}{}{} +\newcommand*{\bidi@@diagbox@triple@setbox@SE@tabular@i}{% + \if@RTL + \begin{tabular}{@{}r@{\hspace{\diagbox@insepl}}} + \else + \begin{tabular}{@{\hspace{\diagbox@insepl}}l@{}} + \fi +} +\newcommand*{\bidi@@diagbox@triple@setbox@SE@tabular@ii@iii}{% + \if@RTL + \begin{tabular}{@{\hspace{\diagbox@insepr}}l@{}} + \else + \begin{tabular}{@{}r@{\hspace{\diagbox@insepr}}} + \fi +} +\let\diagbox@triple@setbox@NE\diagbox@triple@setbox@SE +\bidi@patchcmd{\diagbox@double@pict@SE}{% + \diagbox@setlinecolor + \Line(0,\strip@pt\diagbox@ht)(\strip@pt\diagbox@wd,0)% +}{% + {\diagbox@setlinecolor + \Line(0,\strip@pt\diagbox@ht)(\strip@pt\diagbox@wd,0)}% +}{}{} +\let\diagbox@double@pict@NW\diagbox@double@pict@SE +\bidi@patchcmd{\diagbox@double@pict@NE}{% + \diagbox@setlinecolor + \Line(0,0)(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht)% +}{% + {\diagbox@setlinecolor + \Line(0,0)(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht)}% +}{}{} +\let\diagbox@double@pict@SW\diagbox@double@pict@NE +\bidi@patchcmd{\diagbox@triple@pict@NW}{% + \diagbox@setlinecolor + \Line(0,\yym)(\x,0) + \Line(\xm,\y)(\x,0)% +}{% + {\diagbox@setlinecolor + \Line(0,\yym)(\x,0) + \Line(\xm,\y)(\x,0)}% +}{}{} +\bidi@patchcmd{\diagbox@triple@pict@NE}{% + \diagbox@setlinecolor + \Line(0,0)(\xxm,\y) + \Line(0,0)(\x,\yym)% +}{% + {\diagbox@setlinecolor + \Line(0,0)(\xxm,\y) + \Line(0,0)(\x,\yym)}% +}{}{} +\bidi@patchcmd{\diagbox@triple@pict@SW}{% + \diagbox@setlinecolor + \Line(0,\ym)(\x,\y) + \Line(\xm,0)(\x,\y)% +}{% + {\diagbox@setlinecolor + \Line(0,\ym)(\x,\y) + \Line(\xm,0)(\x,\y)}% +}{}{} +\bidi@patchcmd{\diagbox@triple@pict@SE}{% + \diagbox@setlinecolor + \Line(0,\y)(\xxm,0) + \Line(0,\y)(\x,\ym)% +}{% + {\diagbox@setlinecolor + \Line(0,\y)(\xxm,0) + \Line(0,\y)(\x,\ym)}% +}{}{} +% \end{macrocode} +% \iffalse +%</diagbox-xetex-bidi.def> +%<*draftwatermark-xetex-bidi.def> +%\fi +% \section{File \texttt{draftwatermark-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{draftwatermark-xetex-bidi.def}[2010/07/25 v0.2 bidi adaptations for draftwatermark package for XeTeX engine] +\renewcommand\SetWatermarkText[1]{% + \def\sc@wm@text{\if@RTLmain\beginR\fi#1\if@RTLmain\endR\fi}} +% \end{macrocode} +% \iffalse +%</draftwatermark-xetex-bidi.def> +%<*eso-pic-xetex-bidi.def> +%\fi +% \section{File \texttt{eso-pic-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{eso-pic-xetex-bidi.def}[2013/04/10 v0.2 bidi adaptations for eso-pic package for XeTeX engine] +\renewcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{% + \put(\LenToUnit{\if@RTLmain\paperwidth\else0pt\fi},\LenToUnit{-\paperheight}){#1}}} + +\ESO@isMEMOIR{% + \renewcommand\AtTextUpperLeft[1]{% + \begingroup + \ifodd\c@page + \@tempdima=\spinemargin + \else + \@tempdima=\paperwidth + \advance\@tempdima-\textwidth + \advance\@tempdima-\spinemargin + \fi + \@tempdimb=-\uppermargin + \AtPageUpperLeft{% + \put(\LenToUnit{\if@RTLmain-\fi\@tempdima},\LenToUnit{\@tempdimb}){#1}% + }% + \endgroup + } +}{% + \renewcommand\AtTextUpperLeft[1]{% + \begingroup + \@tempdima=1in\relax + \ifodd\c@page + \advance\@tempdima\oddsidemargin + \else + \advance\@tempdima\evensidemargin + \fi + \@tempdimb=-1in\relax + \advance\@tempdimb-\topmargin + \advance\@tempdimb-\headheight + \advance\@tempdimb-\headsep + \AtPageUpperLeft{% + \put(\LenToUnit{\if@RTLmain-\fi\@tempdima},\LenToUnit{\@tempdimb}){#1}% + }% + \endgroup + } +} +% \end{macrocode} +% \iffalse +%</eso-pic-xetex-bidi.def> +%<*empheq-xetex-bidi.def> +%\fi +% \section{File \texttt{empheq-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{empheq-xetex-bidi.def}[2018/01/08 v0.2 bidi adaptations for empheq package for XeTeX engine] +\MHInternalSyntaxOn +\def\EQ_tag_plus_endmark:{% + \iftagsleft@ + \gdef\maketag@@@##1{% + \hfuzz\displaywidth + \if@RTL\makebox[\widthof{##1}][r]{% + \hbox to \displaywidth{\m@th\normalfont##1\hss + \raisebox{-\dp\EQ_mathdisplay_box + -\depthof{\EQ_outerbox:{}}} + {\PotEndMark{\hss}}}} + \else\makebox[\widthof{##1}][l]{% + \hbox to \displaywidth{\m@th\normalfont##1\hss + \raisebox{-\dp\EQ_mathdisplay_box + -\depthof{\EQ_outerbox:{}}} + {\PotEndMark{\hss}}}}\fi}% + \MH_else: + \gdef\maketag@@@##1{% + \hbox{\m@th\normalfont##1\llap{\hss\PotEndMark{% + \settoheight{\@tempdima}{\@nameuse{\InTheoType Symbol}}% + \MH_addtolength:dn \@tempdima + {\g_EQ_bottomtag_depth_dim+\mintagvsep} + \setlength{\@tempdimb} + {\g_EQ_bottomrow_depth_dim+\depthof{\EQ_outerbox:{}} + +\depthof{\EQ_innerbox:{}}} + \MH_if_dim:w \@tempdima>\@tempdimb + \MH_setlength:dn \@tempdima{-\dp\EQ_mathdisplay_box + -\@tempdima+\g_EQ_bottomrow_depth_dim} + \addtolength{\@tempdima}{\depthof{\EQ_innerbox:{}}}% + \def\EQ_next:{\raisebox{\@tempdima}}% + \MH_else: + \def\EQ_next:{ + \raisebox{-\dp\EQ_mathdisplay_box + -\depthof{\EQ_outerbox:{}}}}% + \MH_fi:\EQ_next:}}}}% + \MH_fi:} +\def\EQ_post_process:{% + \EQ_initialize: + \EQ_begin_equation: + \MH_if_boolean:nT {outer_mult}{ + \setkeys{\MT_options_name:}{ + firstline-afterskip=0pt, + lastline-preskip=0pt, + multlined-width=0pt, + } + \ifodd \l_EQ_alignmentmode_int + \setkeys{\MT_options_name:}{multlined-pos=b} + \MH_else: + \setkeys{\MT_options_name:}{multlined-pos=t} + \MH_fi: + \g@addto@macro\EQ_complete_mathdisplay:{ + \begin{MTmultlined}\relax} + } + \g@addto@macro\EQ_complete_mathdisplay:\EQ_mathbody: + \MH_if_boolean:nT {outer_mult}{ + \g@addto@macro\EQ_complete_mathdisplay:{\end{MTmultlined}} + } + \EQ_end_equation: + \edef\EQ_hyperref_link_fint{\number\Hy@linkcounter} + \savecounters@ + \EQ_typeset_tags: + \edef\l_EQ_equation_fint{\number\c@equation} + \restorecounters@ + \Hy@linkcounter=\EQ_hyperref_link_fint + \settowidth\l_EQ_totalwidth_dim{% + $\EQ_left_side:\EQ_innerbox:{}\EQ_right_side:$}% + \MH_if_boolean:nTF {outer_mult} + { \def\EQ_next:{_mult} } + { \def\EQ_next:{} } + \@nameuse{EQ_modify_linewidth_ + \romannumeral\l_EQ_equationtype_int\EQ_next: :}% + \EQ_typeset_display: + \@nameuse{EQ_find_displaywidth_ + \romannumeral\l_EQ_equationtype_int\EQ_next: :} + \MH_addtolength:dn + \l_EQ_totalwidth_dim{\l_EQ_displaywidth_dim} + \savebox\EQ_mathdisplay_box[\l_EQ_totalwidth_dim][c]{% + $\EQ_left_side: + \EQ_innerbox:{% + \MH_if_case:w \l_EQ_alignmentmode_int\MH_or: + \makebox[\l_EQ_displaywidth_dim][c] + {\usebox{\EQ_mathdisplay_box}}% + \MH_or: + \makebox[\l_EQ_displaywidth_dim][c] + {\usebox{\EQ_mathdisplay_box}}% + \MH_or: + \if@RTL\makebox[\l_EQ_displaywidth_dim][r]{% + \MH_if_num:w \l_EQ_equationtype_int=5 \MH_else: + \MH_if_num:w \l_EQ_equationtype_int=6 \MH_else: + \kern-\@mathmargin + \MH_fi: + \MH_fi: + \usebox{\EQ_mathdisplay_box}}% + \else\makebox[\l_EQ_displaywidth_dim][l]{% + \MH_if_num:w \l_EQ_equationtype_int=5 \MH_else: + \MH_if_num:w \l_EQ_equationtype_int=6 \MH_else: + \kern-\@mathmargin + \MH_fi: + \MH_fi: + \usebox{\EQ_mathdisplay_box}}\fi% + \MH_or: + \if@RTL\makebox[\l_EQ_displaywidth_dim][r]{% + \MH_if_num:w \l_EQ_equationtype_int=5 \MH_else: + \MH_if_num:w \l_EQ_equationtype_int=6 \MH_else: + \kern-\@mathmargin + \MH_fi: + \MH_fi: + \usebox{\EQ_mathdisplay_box}} + \else\makebox[\l_EQ_displaywidth_dim][l]{% + \MH_if_num:w \l_EQ_equationtype_int=5 \MH_else: + \MH_if_num:w \l_EQ_equationtype_int=6 \MH_else: + \kern-\@mathmargin + \MH_fi: + \MH_fi: + \usebox{\EQ_mathdisplay_box}}\fi% + \MH_fi:}% + \EQ_right_side:$}% + \begin{AmSequation*} + \@nameuse{EQ_place_display_ + \romannumeral\l_EQ_equationtype_int\EQ_next: :} + \MH_if_dim:w \g_EQ_widesttag_dim>\z@ + \MH_set_boolean_T:n {show_manual_tags} + \MH_if_case:w \l_EQ_alignmentmode_int + \MH_or: \if@RTL\EQ_place_tag:N l\else\EQ_place_tag:N r\fi %#1 + \MH_or: \if@RTL\EQ_place_tag:N r\else\EQ_place_tag:N l\fi %#2 + \MH_or: \if@RTL\EQ_place_tag:N l\else\EQ_place_tag:N r\fi %#3 + \MH_or: \if@RTL\EQ_place_tag:N r\else\EQ_place_tag:N l\fi %#4 + \MH_fi: + \MH_fi: + \end{AmSequation*} + \global\c@equation=\l_EQ_equation_fint\relax +} +\AtBeginDocument{% + \@ifpackageloaded{fancybox}{% + \@ifpackageloaded{color}{\definecolor{shadowcolor}{rgb}{0,0,0}}% + {\renewcommand*\textcolor[2]{\normalcolor{#2}}}% + \renewcommand*\shadowbox{% + \@ifstar{\MH_set_boolean_T:n {shadowbox_star} + \VerbBox\EQ_shadowbox:n} + {\MH_set_boolean_F:n {shadowbox_star} + \VerbBox\EQ_shadowbox:n}} + \def\EQ_shadowbox:n #1{% + \sbox{\z@}{\fbox{#1}}% + \MH_if_boolean:nTF {shadowbox_star}{ + \MH_setlength:dn \@tempdima{\z@}% + }{ + \MH_setlength:dn \@tempdima{\dp\z@+\shadowsize}% + } + \raisebox{\@tempdima}{% + \if@RTL\makebox[\z@][r]{% + \kern\shadowsize \textcolor{shadowcolor}{% + \rule[-\dp\z@-\shadowsize]{\wd\z@}{\shadowsize}}% + }% + \else\makebox[\z@][l]{% + \kern\shadowsize \textcolor{shadowcolor}{% + \rule[-\dp\z@-\shadowsize]{\wd\z@}{\shadowsize}}% + }\fi% + \usebox\z@\textcolor{shadowcolor}{% + \rule[-\dp\z@-\shadowsize]{\shadowsize}{\ht\z@+\dp\z@}}}}% + }{}% +} +\MHInternalSyntaxOff +% \end{macrocode} +% \iffalse +%</empheq-xetex-bidi.def> +%<*extarticle-xetex-bidi.def> +%\fi +% \section{File \texttt{extarticle-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{extarticle-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for extarticle class for XeTeX engine] +\renewcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} + \renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \endgroup + \fi} + \def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >\m@ne + \Large\bfseries \partname~\thepart + \par\nobreak + \fi + \huge \bfseries #2% + \markboth{}{}\par}% + \nobreak + \vskip 3ex + \@afterheading} + \def\@spart#1{% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \interlinepenalty \@M + \normalfont + \huge \bfseries #1\par}% + \nobreak + \vskip 3ex + \@afterheading} +\renewenvironment{thebibliography}[1] + {\section*{\refname + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} + \if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\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}%% +% \end{macrocode} +% \iffalse +%</extarticle-xetex-bidi.def> +%<*extbook-xetex-bidi.def> +%\fi +% \section{File \texttt{extbook-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{extbook-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for extbook class for XeTeX engine] + \if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\renewcommand\theequation + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} +\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} +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \huge\bfseries \@chapapp\space \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \fi + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} + +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \normalfont + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\renewcommand\backmatter{% + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \@mainmatterfalse} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \iffalse +%</extbook-xetex-bidi.def> +%<*extletter-xetex-bidi.def> +%\fi +% \section{File \texttt{extletter-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{extletter-xetex-bidi.def}[2015/11/14 v0.2 bidi adaptations for extletter class for XeTeX engine] +\renewcommand*{\opening}[1]{\ifx\@empty\fromaddress + \thispagestyle{firstpage}% + {\if@RTL\raggedright\else\raggedleft\fi\@date\par}% + \else % home address + \thispagestyle{empty}% + {\if@RTL\raggedright\begin{tabular}{r@{}}\else\raggedleft\begin{tabular}{l@{}}\fi\ignorespaces + \fromaddress \\*[2\parskip]% + \@date \end{tabular}\par}% + \fi + \vspace{2\parskip}% + {\if@RTL\raggedleft\else\raggedright\fi \toname \\ \toaddress \par}% + \vspace{2\parskip}% + #1\par\nobreak} +\renewcommand{\closing}[1]{\par\nobreak\vspace{\parskip}% + \stopbreaks + \noindent + \ifx\@empty\fromaddress\else + \hspace*{\longindentation}\fi + \parbox{\indentedwidth}{\if@RTL\raggedleft\else\raggedright\fi + \ignorespaces #1\\[6\medskipamount]% + \ifx\@empty\fromsig + \fromname + \else \fromsig \fi\strut}% + \par} +\renewcommand\left@footnoterule{% + \kern-\p@ + \hrule \@width .4\columnwidth + \kern .6\p@} +\renewcommand\right@footnoterule{% + \kern-\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern .6\p@} +% \end{macrocode} +% \iffalse +%</extletter-xetex-bidi.def> +%<*extrafootnotefeatures-xetex-bidi.def> +%\fi +% \section{File \texttt{extrafootnotefeatures-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{extrafootnotefeatures-xetex-bidi.def}[2018/10/11 v1.7 bidi extra footnote features for XeTeX engine] +\newif\if@bidi@void@footins +\newif\if@bidi@void@@mpfootins +\newcommand*{\@bidi@before@Hy@hyperfootnotes}{% +\if@bidi@csundef{ifHy@hyperfootnotes}{}{% +\if@bidi@csundef{HLTR@@LTRfootnotetext}{}{% +\ifHy@hyperfootnotes + \let\@@H@@footnotetext\@footnotetext + \let\@@HLTR@@LTRfootnotetext\@LTRfootnotetext + \let\@@HRTL@@RTLfootnotetext\@RTLfootnotetext + \let\@@H@@mpfootnotetext\@mpfootnotetext + \let\@@HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext + \let\@@HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext +\fi +}% +}% +} +\newcommand*{\@bidi@after@Hy@hyperfootnotes}{% +\if@bidi@csundef{ifHy@hyperfootnotes}{}{% +\if@bidi@csundef{HLTR@@LTRfootnotetext}{}{% +\ifHy@hyperfootnotes + \let\H@@footnotetext\@footnotetext + \let\@footnotetext\@@H@@footnotetext + \let\HLTR@@LTRfootnotetext\@LTRfootnotetext + \let\@LTRfootnotetext\@@HLTR@@LTRfootnotetext + \let\HRTL@@RTLfootnotetext\@RTLfootnotetext + \let\@RTLfootnotetext\@@HRTL@@RTLfootnotetext + \let\H@@mpfootnotetext\@mpfootnotetext + \let\@mpfootnotetext\@@H@@mpfootnotetext + \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext + \let\@mpLTRfootnotetext\@@HLTR@@mpLTRfootnotetext + \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext + \let\@mpRTLfootnotetext\@@HRTL@@mpRTLfootnotetext +\fi +}% +}% +} +\let\autofootnoterule\relax +\let\rightfootnoterule\relax +\let\leftfootnoterule\relax +\let\textwidthfootnoterule\relax +\let\LRfootnoterule\relax +\def\footnoterule{\kern-3\p@ + \hrule \@width \columnwidth \kern 2.6\p@} +\newcommand{\@preamnormalfmt}{% + \parindent 1em% + \noindent +} +\newcommand{\@normalfootfmt}[1]{% + \@preamnormalfmt + \footfootmark + \rule\z@\footnotesep\ignorespaces{\foottextfont #1}% + \@finalstrut\strutbox +} +\newcommand{\@normalRTLfootfmt}[1]{% + \@preamnormalfmt + \RTLfootfootmark + \rule\z@\footnotesep\ignorespaces{\RTLfoottextfont #1}% + \@finalstrut\strutbox +} +\newcommand{\@normalLTRfootfmt}[1]{% + \@preamnormalfmt + \LTRfootfootmark + \rule\z@\footnotesep\ignorespaces{\LTRfoottextfont #1}% + \@finalstrut\strutbox +} +\renewcommand{\@footnotetext}[1]{% + \insert\footins{% + \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font + \foottextfont + \@preamfntext + \hsize\columnwidth + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@normalfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\renewcommand{\@RTLfootnotetext}[1]{% + \insert\footins{% + \@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font + \RTLfoottextfont + \@preamfntext + \hsize\columnwidth + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@normalRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\renewcommand{\@LTRfootnotetext}[1]{% + \insert\footins{% + \@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font + \LTRfoottextfont + \@preamfntext + \hsize\columnwidth + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@normalLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\renewcommand{\@mpfootnotetext}[1]{% + \global\setbox\@mpfootins\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootins + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font% + \foottextfont \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@normalfootfmt{#1}% + \color@endgroup}} +\renewcommand{\@mpLTRfootnotetext}[1]{% + \global\setbox\@mpfootins\vbox{\@RTLfalse% + \unvbox\@mpfootins + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font% + \LTRfoottextfont \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@normalLTRfootfmt{#1}% + \color@endgroup}} +\renewcommand{\@mpRTLfootnotetext}[1]{% + \global\setbox\@mpfootins\vbox{\@RTLtrue% + \unvbox\@mpfootins + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font% + \RTLfoottextfont \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@normalRTLfootfmt{#1}% + \color@endgroup}} +\let\m@mold@footnotetext\@footnotetext +\let\m@mold@LTRfootnotetext\@LTRfootnotetext +\let\m@mold@RTLfootnotetext\@RTLfootnotetext +\let\m@mold@mpfootnotetext\@mpfootnotetext +\let\m@mold@mpLTRfootnotetext\@mpLTRfootnotetext +\let\m@mold@mpRTLfootnotetext\@mpRTLfootnotetext +\bidi@ensure@newcommand{\normalfootnotes}{% + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\m@mold@footnotetext + \let\@LTRfootnotetext\m@mold@LTRfootnotetext + \let\@RTLfootnotetext\m@mold@RTLfootnotetext + \let\@mpfootnotetext\m@mold@mpfootnotetext + \let\@mpLTRfootnotetext\m@mold@mpLTRfootnotetext + \let\@mpRTLfootnotetext\m@mold@mpRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\@ifclassloaded{memoir}{\let\plainfootnotes\normalfootnotes}{} +\bidi@ensure@newcommand*{\RTLcolumnfootnotes}{\@RTLcolumnfootnotestrue} +\bidi@ensure@newcommand*{\LTRcolumnfootnotes}{\@RTLcolumnfootnotesfalse} +\bidi@ensure@newcommand*{\setSingleSpace}[1]{% + \def\m@m@singlespace{#1}% + \def\m@m@footnote@spacing{#1}% + \def\m@m@float@spacing{#1} % +} +\setSingleSpace{1} +\bidi@ensure@newcommand*{\multiplefootnotemarker}{3sp} +\bidi@ensure@newcommand*{\m@mmf@prepare}{% + \kern-\multiplefootnotemarker + \kern\multiplefootnotemarker\relax} +\bidi@ensure@newlength{\footmarkwidth} +\bidi@ensure@newcommand*{\footmarkstyle}[1]{\def\footscript##1{#1}} +\bidi@ensure@newcommand*{\LTRfootmarkstyle}[1]{\def\LTRfootscript##1{#1}} +\bidi@ensure@newcommand*{\RTLfootmarkstyle}[1]{\def\RTLfootscript##1{#1}} +\bidi@ensure@newcommand{\footfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\footscript{\@thefnmark}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\footscript{\@thefnmark}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\footscript{\@thefnmark}}% + \fi + \fi} +\bidi@ensure@newcommand{\LTRfootfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\LTRfootscript{\@thefnmark}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\LTRfootscript{\@thefnmark}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\LTRfootscript{\@thefnmark}}% + \fi + \fi} +\bidi@ensure@newcommand{\RTLfootfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\RTLfootscript{\@thefnmark}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\RTLfootscript{\@thefnmark}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\RTLfootscript{\@thefnmark}}% + \fi + \fi} +\footmarkstyle{\textsuperscript{#1}} +\LTRfootmarkstyle{\textsuperscript{#1}} +\RTLfootmarkstyle{\textsuperscript{#1}} +\newcommand*{\bidi@normal@footmarkwidth}{% + \setlength{\footmarkwidth}{1em plus.4em minus.4em}% +} +\newcommand*{\bidi@star@footmarkwidth}{% + \setlength{\footmarkwidth}{0em plus.4em minus.4em}% +} +\bidi@normal@footmarkwidth +\bidi@ensure@newcommand{\m@mdoextrafeet}{\extrafeetins} +\bidi@ensure@newcommand*{\extrafeetins}{% + \setbox\@outputbox \vbox{% + \boxmaxdepth \@maxdepth + \unvbox\@outputbox + \ifvoid\footinsv@r + \ifvoid\footinsv@l + \else + \@footstartv@l + \@LTRfootgroupv@l + \fi + \else + \@footstartv@r + \@footgroupv@r + \ifvoid\footinsv@l + \else + \@@footstart@@v@l + \@LTRfootgroupv@l + \fi + \fi + \ifvoid\@bidi@copyins@ + \else + \vskip \skip\@bidi@copyins@ + \color@begingroup + \normalcolor + \unvbox \@bidi@copyins@ + \color@endgroup + \fi + \extrafeetinshook}} +\bidi@ensure@newcommand{\extrafeetinshook}{} +\bidi@ensure@newcommand{\foottextfont}{\footnotesize} +\bidi@ensure@newcommand{\LTRfoottextfont}{\footnotesize} +\bidi@ensure@newcommand{\RTLfoottextfont}{\footnotesize} +\bidi@ensure@newlength{\footinsdim} + \setlength{\footinsdim}{8in} % standard for \dimen\footins +\bidi@ensure@newcommand{\@preamfntext}{% + \interlinepenalty\interfootnotelinepenalty + \floatingpenalty \@MM + \splittopskip=\footnotesep + \splitmaxdepth=\dp\strutbox + \@parboxrestore} +\bidi@ensure@newcommand{\m@mdoextrafeetmini}{% + \extrafeetminihook} +\bidi@ensure@newcommand{\extrafeetendmini}{% + \ifvoid\@mpfootinsv@r + \ifvoid\@mpfootinsv@l + \else + \vskip\skip\@mpfootins + \normalcolor + \if@bidi@void@@mpfootins + \footnoterule + \fi + \mp@LTRfootgroupv@l + \fi + \else + \vskip\skip\@mpfootins + \normalcolor + \if@bidi@void@@mpfootins + \footnoterule + \fi + \mp@footgroupv@r + \ifvoid\@mpfootinsv@l + \else + \vskip\skip\@mpfootins + \normalcolor\mp@LTRfootgroupv@l + \fi + \fi + \extrafeetendminihook} +\bidi@ensure@newcommand{\extrafeetendminihook}{} +\bidi@ensure@newcommand{\m@mdoextrafeetendmini}{\extrafeetendmini} +\def\endminipage{% + \par + \unskip + \ifvoid\@mpfootins + \global\@bidi@void@@mpfootinstrue + \else + \global\@bidi@void@@mpfootinsfalse + \vskip\skip\@mpfootins + \normalcolor + \footnoterule + \unvbox\@mpfootins + \fi + \m@mdoextrafeetendmini + \@minipagefalse + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} +\bidi@ensure@newcommand{\m@make@footstart}[1]{% + \@namedef{@footstart#1}{% + \bidi@mopfn@bottom + \leftskip=\z@ + \rightskip=\z@ + \parindent=\z@ + \vskip\skip\footins + \footnoterule}} +\newinsert\footinsv@r +\skip\footinsv@r\bigskipamount +\count\footinsv@r=1000 % no magnifcation +\dimen\footinsv@r=\footinsdim +\m@make@footstart{v@r} +\newinsert\footinsv@l +\skip\footinsv@l\bigskipamount +\bidi@ensure@newcommand{\@footgroupv@r}{} +\newinsert\@mpfootinsv@r +\newinsert\@mpfootinsv@l +\bidi@ensure@newcommand{\mp@footgroupv@r}{} +\newcount\m@m@k \newdimen\m@m@h +\@ifpackageloaded{multicol}{% +\bidi@ensure@newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 + \hsize\textwidth + \@@line{\if@RTLcolumnfootnotes\beginR\fi\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}\if@RTLcolumnfootnotes\endR\fi}} +}{% +\bidi@ensure@newcommand*{\m@mrigidbalance}[3]{\setbox0=\box#1 \m@m@k=#2 \m@m@h=#3 + \@@line{\if@RTLcolumnfootnotes\beginR\fi\splittopskip=\m@m@h \vbadness=\@M \hfilneg + \valign{##\vfill\cr\m@mdosplits}\if@RTLcolumnfootnotes\endR\fi}}} +\bidi@ensure@newcommand*{\m@mdosplits}{\ifnum\m@m@k>0 \noalign{\hfil}\m@msplitoff + \global\advance\m@m@k-1\cr\m@mdosplits\fi} +\bidi@ensure@newcommand*{\m@msplitoff}{\dimen0=\ht0 + \divide\dimen0 by\m@m@k \advance\dimen0 by\m@m@h + \setbox2 \vsplit0 to \dimen0 + \unvbox2 } +\bidi@ensure@newcommand{\twocolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@twocolfootnotetext + \let\@LTRfootnotetext\@twocolLTRfootnotetext + \let\@RTLfootnotetext\@twocolRTLfootnotetext + \dimen\footinsv@r=2\footinsdim + \count\footinsv@r=500\relax + \m@make@twocol@footgroup{v@r}% + \let\@footgroupv@r\@twocol@footgroupv@r + \let\@mpfootnotetext\@mptwocolfootnotetext + \let\@mpLTRfootnotetext\@mptwocolLTRfootnotetext + \let\@mpRTLfootnotetext\@mptwocolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mptwocol@footgroup{v@r}% + \let\mp@footgroupv@r\@mptwocol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@twocolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@twocolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@twocolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamtwofmt}{% + \hsize .45\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@twocolfootfmt}[1]{% + \@preamtwofmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@twocolLTRfootfmt}[1]{% + \@preamtwofmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@twocolRTLfootfmt}[1]{% + \@preamtwofmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mptwocolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mptwocolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mptwocolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@twocolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@twocol@footgroup}[1]{% + \@namedef{@twocol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{\tw@}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mptwocol@footgroup}[1]{% +\@namedef{@mptwocol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\tw@}{\splittopskip}}}} +\bidi@ensure@newcommand{\threecolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@threecolfootnotetext + \let\@LTRfootnotetext\@threecolLTRfootnotetext + \let\@RTLfootnotetext\@threecolRTLfootnotetext + \dimen\footinsv@r=3\footinsdim + \count\footinsv@r=333\relax + \m@make@threecol@footgroup{v@r}% + \let\@footgroupv@r\@threecol@footgroupv@r + \let\@mpfootnotetext\@mpthreecolfootnotetext + \let\@mpLTRfootnotetext\@mpthreecolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpthreecolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpthreecol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpthreecol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@threecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\@threecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolLTRfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\@threecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolRTLfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\@preamthreefmt}{% + \hsize .3\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@threecolfootfmt}[1]{% + \@preamthreefmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@threecolLTRfootfmt}[1]{% + \@preamthreefmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@threecolRTLfootfmt}[1]{% + \@preamthreefmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpthreecolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\@mpthreecolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolLTRfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\@mpthreecolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@threecolRTLfootfmt{#1}% + \color@endgroup}\m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@threecol@footgroup}[1]{% +\@namedef{@threecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{\thr@@}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpthreecol@footgroup}[1]{% +\@namedef{@mpthreecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{\thr@@}{\splittopskip}}}} +\bidi@ensure@newcommand{\fourcolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@fourcolfootnotetext + \let\@LTRfootnotetext\@fourcolLTRfootnotetext + \let\@RTLfootnotetext\@fourcolRTLfootnotetext + \dimen\footinsv@r=4\footinsdim + \count\footinsv@r=250\relax + \m@make@fourcol@footgroup{v@r}% + \let\@footgroupv@r\@fourcol@footgroupv@r + \let\@mpfootnotetext\@mpfourcolfootnotetext + \let\@mpLTRfootnotetext\@mpfourcolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpfourcolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpfourcol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpfourcol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@fourcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@fourcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@fourcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamfourfmt}{% + \hsize .25\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@fourcolfootfmt}[1]{% + \@preamfourfmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@fourcolLTRfootfmt}[1]{% + \@preamfourfmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@fourcolRTLfootfmt}[1]{% + \@preamfourfmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpfourcolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpfourcolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpfourcolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fourcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@fourcol@footgroup}[1]{% + \@namedef{@fourcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{4}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpfourcol@footgroup}[1]{% +\@namedef{@mpfourcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{4}{\splittopskip}}}} +\bidi@ensure@newcommand{\fivecolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@fivecolfootnotetext + \let\@LTRfootnotetext\@fivecolLTRfootnotetext + \let\@RTLfootnotetext\@fivecolRTLfootnotetext + \dimen\footinsv@r=5\footinsdim + \count\footinsv@r=200\relax + \m@make@fivecol@footgroup{v@r}% + \let\@footgroupv@r\@fivecol@footgroupv@r + \let\@mpfootnotetext\@mpfivecolfootnotetext + \let\@mpLTRfootnotetext\@mpfivecolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpfivecolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpfivecol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpfivecol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@fivecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@fivecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@fivecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamfivefmt}{% + \hsize .2\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@fivecolfootfmt}[1]{% + \@preamfivefmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@fivecolLTRfootfmt}[1]{% + \@preamfivefmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@fivecolRTLfootfmt}[1]{% + \@preamfivefmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpfivecolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpfivecolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpfivecolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@fivecolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@fivecol@footgroup}[1]{% + \@namedef{@fivecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{5}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpfivecol@footgroup}[1]{% +\@namedef{@mpfivecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{5}{\splittopskip}}}} +\bidi@ensure@newcommand{\sixcolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@sixcolfootnotetext + \let\@LTRfootnotetext\@sixcolLTRfootnotetext + \let\@RTLfootnotetext\@sixcolRTLfootnotetext + \dimen\footinsv@r=6\footinsdim + \count\footinsv@r=166\relax + \m@make@sixcol@footgroup{v@r}% + \let\@footgroupv@r\@sixcol@footgroupv@r + \let\@mpfootnotetext\@mpsixcolfootnotetext + \let\@mpLTRfootnotetext\@mpsixcolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpsixcolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpsixcol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpsixcol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@sixcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@sixcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@sixcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamsixfmt}{% + \hsize .16\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@sixcolfootfmt}[1]{% + \@preamsixfmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@sixcolLTRfootfmt}[1]{% + \@preamsixfmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@sixcolRTLfootfmt}[1]{% + \@preamsixfmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpsixcolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpsixcolLTRfootnotetext}[1]{\@RTLfalse% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpsixcolRTLfootnotetext}[1]{\@RTLtrue% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sixcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@sixcol@footgroup}[1]{% + \@namedef{@sixcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{6}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpsixcol@footgroup}[1]{% +\@namedef{@mpsixcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{6}{\splittopskip}}}} +\bidi@ensure@newcommand{\sevencolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@sevencolfootnotetext + \let\@LTRfootnotetext\@sevencolLTRfootnotetext + \let\@RTLfootnotetext\@sevencolRTLfootnotetext + \dimen\footinsv@r=7\footinsdim + \count\footinsv@r=142\relax + \m@make@sevencol@footgroup{v@r}% + \let\@footgroupv@r\@sevencol@footgroupv@r + \let\@mpfootnotetext\@mpsevencolfootnotetext + \let\@mpLTRfootnotetext\@mpsevencolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpsevencolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpsevencol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpsevencol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@sevencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@sevencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@sevencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamsevenfmt}{% + \hsize .142\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@sevencolfootfmt}[1]{% + \@preamsevenfmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@sevencolLTRfootfmt}[1]{% + \@preamsevenfmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@sevencolRTLfootfmt}[1]{% + \@preamsevenfmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpsevencolfootnotetext}[1]{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpsevencolLTRfootnotetext}[1]{\@RTLfalse% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpsevencolRTLfootnotetext}[1]{\@RTLtrue% + \global\setbox\@mpfootinsv@r\vbox{% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@sevencolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@sevencol@footgroup}[1]{% + \@namedef{@sevencol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{7}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpsevencol@footgroup}[1]{% +\@namedef{@mpsevencol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{7}{\splittopskip}}}} +\bidi@ensure@newcommand{\eightcolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@eightcolfootnotetext + \let\@LTRfootnotetext\@eightcolLTRfootnotetext + \let\@RTLfootnotetext\@eightcolRTLfootnotetext + \dimen\footinsv@r=8\footinsdim + \count\footinsv@r=125\relax + \m@make@eightcol@footgroup{v@r}% + \let\@footgroupv@r\@eightcol@footgroupv@r + \let\@mpfootnotetext\@mpeightcolfootnotetext + \let\@mpLTRfootnotetext\@mpeightcolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpeightcolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpeightcol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpeightcol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@eightcolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@eightcolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@eightcolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preameightfmt}{% + \hsize .125\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@eightcolfootfmt}[1]{% + \@preameightfmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@eightcolLTRfootfmt}[1]{% + \@preameightfmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@eightcolRTLfootfmt}[1]{% + \@preameightfmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpeightcolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpeightcolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpeightcolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@eightcolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@eightcol@footgroup}[1]{% + \@namedef{@eightcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{8}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpeightcol@footgroup}[1]{% +\@namedef{@mpeightcol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{8}{\splittopskip}}}} +\bidi@ensure@newcommand{\ninecolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@ninecolfootnotetext + \let\@LTRfootnotetext\@ninecolLTRfootnotetext + \let\@RTLfootnotetext\@ninecolRTLfootnotetext + \dimen\footinsv@r=9\footinsdim + \count\footinsv@r=111\relax + \m@make@ninecol@footgroup{v@r}% + \let\@footgroupv@r\@ninecol@footgroupv@r + \let\@mpfootnotetext\@mpninecolfootnotetext + \let\@mpLTRfootnotetext\@mpninecolLTRfootnotetext + \let\@mpRTLfootnotetext\@mpninecolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mpninecol@footgroup{v@r}% + \let\mp@footgroupv@r\@mpninecol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@ninecolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@ninecolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@ninecolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamninefmt}{% + \hsize .1\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@ninecolfootfmt}[1]{% + \@preamninefmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@ninecolLTRfootfmt}[1]{% + \@preamninefmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@ninecolRTLfootfmt}[1]{% + \@preamninefmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mpninecolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpninecolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mpninecolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@ninecolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@ninecol@footgroup}[1]{% + \@namedef{@ninecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{9}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mpninecol@footgroup}[1]{% +\@namedef{@mpninecol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{9}{\splittopskip}}}} +\bidi@ensure@newcommand{\tencolumnfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@tencolfootnotetext + \let\@LTRfootnotetext\@tencolLTRfootnotetext + \let\@RTLfootnotetext\@tencolRTLfootnotetext + \dimen\footinsv@r=10\footinsdim + \count\footinsv@r=100\relax + \m@make@tencol@footgroup{v@r}% + \let\@footgroupv@r\@tencol@footgroupv@r + \let\@mpfootnotetext\@mptencolfootnotetext + \let\@mpLTRfootnotetext\@mptencolLTRfootnotetext + \let\@mpRTLfootnotetext\@mptencolRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mptencol@footgroup{v@r}% + \let\mp@footgroupv@r\@mptencol@footgroupv@r + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\bidi@ensure@newcommand{\@tencolfootnotetext}[1]{\insert\footinsv@r{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@tencolLTRfootnotetext}[1]{\insert\footinsv@r{\if@RTLcolumnfootnotes\beginL\fi\@RTLfalse% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@tencolRTLfootnotetext}[1]{\insert\footinsv@r{\@RTLtrue% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@preamtenfmt}{% + \hsize .1\hsize + \parindent=\z@ + \tolerance=5000\relax + \leavevmode} +\bidi@ensure@newcommand{\@tencolfootfmt}[1]{% + \@preamtenfmt + {\footfootmark\strut {\foottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@tencolLTRfootfmt}[1]{% + \@preamtenfmt + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@tencolRTLfootfmt}[1]{% + \@preamtenfmt + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\strut\par}\allowbreak} +\bidi@ensure@newcommand{\@mptencolfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mptencolLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLfalse% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \if@RTLcolumnfootnotes\beginL\fi + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolLTRfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\@mptencolRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{\@RTLtrue% + \unvbox\@mpfootinsv@r + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@tencolRTLfootfmt{#1}% + \color@endgroup}% + \m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@tencol@footgroup}[1]{% + \@namedef{@tencol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{footins#1}}{10}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@make@mptencol@footgroup}[1]{% +\@namedef{@mptencol@footgroup#1}{{% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1} \splittopskip=\ht\strutbox + \m@mrigidbalance{\@nameuse{@mpfootins#1}}{10}{\splittopskip}}}} +\bidi@ensure@newcommand{\m@munvxh}[1]{% + \setbox0=\vbox{\unvbox#1% + \global\setbox1=\lastbox}% + \unhbox1 + \unskip + \unskip + \unpenalty + \hskip\m@mipn@skip} +\bidi@ensure@newcommand{\m@mungebox}{% + \setbox0=\hbox{\m@munvxh0}% + \dp0=\z@ + \ht0=\footfudgefactor\wd0 + \box0 + \penalty0} +\newskip\m@mipn@skip +\bidi@ensure@newcommand*{\m@minterparanoteglue}[1]{% + {\foottextfont\global\m@mipn@skip=#1\relax}} +\m@minterparanoteglue{1em plus.4em minus.4em} +\@ifpackageloaded{multicol}{% +\bidi@ensure@newcommand*{\m@mmakehboxofhboxes}{% + \hsize\textwidth% + \setbox0=\hbox{}% + \loop + \unpenalty + \setbox2=\lastbox + \ifhbox2 + \setbox0=\hbox{\box2\unhbox0} + \repeat} +}{% +\bidi@ensure@newcommand*{\m@mmakehboxofhboxes}{% + \setbox0=\hbox{}% + \loop + \unpenalty + \setbox2=\lastbox + \ifhbox2 + \setbox0=\hbox{\box2\unhbox0} + \repeat}} +\bidi@ensure@newcommand*{\m@mremovehboxes}{\setbox0=\lastbox + \ifhbox0{\m@mremovehboxes}\unhbox0 \fi} +\newcommand*\AddExtraParaSkip[1]{% + \if@bidi@csdef{footfudgefactor}{% + \PackageError{bidi}{% + The control sequence `\string\AddExtraParaSkip` + must be used before the control sequence + `\string\paragraphfootnotes' in the preamble% + }\@ehc + }{% + \def\bidi@xparaskip{\advance\@tempdima#1\relax}% + }% +} +\bidi@ensure@newcommand{\paragraphfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% % [RS] + \@bidi@before@Hy@hyperfootnotes + \let\@footnotetext\@parafootnotetext + \let\@LTRfootnotetext\@paraLTRfootnotetext + \let\@RTLfootnotetext\@paraRTLfootnotetext + \dimen\footinsv@r=\footinsdim + \count\footinsv@r=1000\relax + \m@make@para@footgroup{v@r}% + \m@make@para@footstart{v@r}% + \let\@footgroupv@r\@para@footgroupv@r + \let\@footstartv@r\@para@footstartv@r + \dimen\footinsv@l=\footinsdim + \count\footinsv@l=1000\relax + \bidi@make@para@LTRfootgroup{v@l}% + \m@make@para@footstart{v@l}% + \bidi@make@para@footstart@@{v@l}% + \let\@LTRfootgroupv@l\@para@LTRfootgroupv@l + \let\@footstartv@l\@para@footstartv@l + \let\@@footstart@@v@l\@@para@footstart@@v@l + \let\@mpfootnotetext\@mpparafootnotetext + \let\@mpLTRfootnotetext\@mpparaLTRfootnotetext + \let\@mpRTLfootnotetext\@mpparaRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mppara@footgroup{v@r}% + \bidi@make@mppara@LTRfootgroup{v@l}% + \let\mp@footgroupv@r\@mppara@footgroupv@r + \let\mp@LTRfootgroupv@l\@mppara@LTRfootgroupv@l + \begingroup + \def\baselinestretch{\m@m@footnote@spacing}% + \foottextfont + \@tempdima\footnotesep + \advance\@tempdima -\ht\strutbox + \ifdim\@tempdima<\z@ \@tempdima\z@ \fi + \advance\@tempdima.5\normalbaselineskip + \bidi@xparaskip + \xdef\bidi@paraskip{\the\@tempdima\relax}% + \ifdim\skip\footinsv@r>\bigskipamount + \else + \global\advance\skip\footinsv@r\bidi@paraskip + \fi + \ifdim\skip\footinsv@l>\bigskipamount + \else + \global\advance\skip\footinsv@l\bidi@paraskip + \fi + \@tempdima\normalbaselineskip + \multiply \@tempdima \@cclvi + \@tempdimb \columnwidth + \divide \@tempdimb \@cclvi + \divide \@tempdima \@tempdimb + \xdef\footfudgefactor{\strip@pt\@tempdima}% + \endgroup + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\newcommand{\normalRTLparaLTRfootnotes}{% + \@namedef{foottextfontv@r}{\foottextfont}% + \@bidi@before@Hy@hyperfootnotes + \if@RTL@footnote + \let\@footnotetext\m@mold@footnotetext + \else + \let\@footnotetext\@parafootnotetext + \fi + \let\@LTRfootnotetext\@paraLTRfootnotetext + \let\@RTLfootnotetext\m@mold@RTLfootnotetext + \dimen\footinsv@r=\footinsdim + \count\footinsv@r=1000\relax + \m@make@para@footgroup{v@r}% + \m@make@para@footstart{v@r}% + \let\@footgroupv@r\@para@footgroupv@r + \let\@footstartv@r\@para@footstartv@r + \dimen\footinsv@l=\footinsdim + \count\footinsv@l=1000\relax + \bidi@make@para@LTRfootgroup{v@l}% + \m@make@para@footstart{v@l}% + \bidi@make@para@footstart@@{v@l}% + \let\@LTRfootgroupv@l\@para@LTRfootgroupv@l + \let\@footstartv@l\@para@footstartv@l + \let\@@footstart@@v@l\@@para@footstart@@v@l + \if@RTL@footnote + \let\@mpfootnotetext\m@mold@mpfootnotetext + \else + \let\@mpfootnotetext\@mpparafootnotetext + \fi + \let\@mpLTRfootnotetext\@mpparaLTRfootnotetext + \let\@mpRTLfootnotetext\m@mold@mpRTLfootnotetext + \@bidi@after@Hy@hyperfootnotes + \m@make@mppara@footgroup{v@r}% + \bidi@make@mppara@LTRfootgroup{v@l}% + \let\mp@footgroupv@r\@mppara@footgroupv@r + \let\mp@LTRfootgroupv@l\@mppara@LTRfootgroupv@l + \begingroup + \def\baselinestretch{\m@m@footnote@spacing}% + \foottextfont + \@tempdima\footnotesep + \advance\@tempdima -\ht\strutbox + \ifdim\@tempdima<\z@ \@tempdima\z@ \fi + \advance\@tempdima.5\normalbaselineskip + \bidi@xparaskip + \xdef\bidi@paraskip{\the\@tempdima\relax}% + \ifdim\skip\footinsv@r>\bigskipamount + \else + \global\advance\skip\footinsv@r\bidi@paraskip + \fi + \ifdim\skip\footinsv@l>\bigskipamount + \else + \global\advance\skip\footinsv@l\bidi@paraskip + \fi + \@tempdima\normalbaselineskip + \multiply \@tempdima \@cclvi + \@tempdimb \columnwidth + \divide \@tempdimb \@cclvi + \divide \@tempdima \@tempdimb + \xdef\footfudgefactor{\strip@pt\@tempdima}% + \endgroup + \@ifstar\bidi@star@footmarkwidth\bidi@normal@footmarkwidth +} +\let\bidi@xparaskip\relax +\@onlypreamble\AddExtraParaSkip +\bidi@ensure@newcommand{\@parafootnotetext}[1]{\insert + \if@RTL@footnote + \footinsv@r + \else + \footinsv@l + \fi + {% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\foottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@parafootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\@paraLTRfootnotetext}[1]{\insert\footinsv@l{% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\LTRfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@paraLTRfootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\@paraRTLfootnotetext}[1]{\insert\footinsv@r{% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \reset@font\RTLfoottextfont + \@preamfntext + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@paraRTLfootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\@parafootfmt}[1]{% + \parindent=\z@ + \parfillskip=0pt \@plus 1fil + {\footfootmark\strut {\foottextfont #1}\penalty-10}} +\bidi@ensure@newcommand{\@paraLTRfootfmt}[1]{% + \parindent=\z@ + \parfillskip=0pt \@plus 1fil + {\LTRfootfootmark\strut {\LTRfoottextfont #1}\penalty-10}} +\bidi@ensure@newcommand{\@paraRTLfootfmt}[1]{% + \parindent=\z@ + \parfillskip=0pt \@plus 1fil + {\RTLfootfootmark\strut {\RTLfoottextfont #1}\penalty-10}} +\bidi@ensure@newcommand{\@mpparafootnotetext}[1]{% + \global\setbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \vbox{% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \unvbox + \if@RTL@footnote + \@mpfootinsv@r + \else + \@mpfootinsv@l + \fi + \reset@font\foottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@parafootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\@mpparaLTRfootnotetext}[1]{% + \global\setbox\@mpfootinsv@l\vbox{% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \unvbox\@mpfootinsv@l + \reset@font\LTRfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@paraLTRfootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\@mpparaRTLfootnotetext}[1]{% + \global\setbox\@mpfootinsv@r\vbox{% + \let\bidi@RTL@everypar\@empty% + \def\baselinestretch{\m@m@footnote@spacing}% + \unvbox\@mpfootinsv@r + \reset@font\RTLfoottextfont + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@mpfootnote\endcsname\@thefnmark}% + \setbox0=\vbox{\hsize=\maxdimen + \color@begingroup + \noindent \@paraRTLfootfmt{#1}% + \color@endgroup}% + \m@mungebox}\m@mmf@prepare} +\bidi@ensure@newcommand{\m@make@para@footgroup}[1]{% +\@namedef{@para@footgroup#1}{% + \unvbox\@nameuse{footins#1} + \@RTLtrue + \m@mmakehboxofhboxes + \setbox0=\hbox{\unhbox0 \m@mremovehboxes}% + \@parboxrestore% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1}% + \noindent\unhbox0\par}} +\bidi@ensure@newcommand{\bidi@make@para@LTRfootgroup}[1]{% +\@namedef{@para@LTRfootgroup#1}{% + \unvbox\@nameuse{footins#1} + \@RTLfalse + \m@mmakehboxofhboxes + \setbox0=\hbox{\unhbox0 \m@mremovehboxes}% + \@parboxrestore% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1}% + \noindent\unhbox0\par}} +\bidi@ensure@newcommand{\m@make@mppara@footgroup}[1]{% +\@namedef{@mppara@footgroup#1}{% + \unvbox\@nameuse{@mpfootins#1} + \@RTLtrue + \m@mmakehboxofhboxes + \setbox0=\hbox{\unhbox0 \m@mremovehboxes}% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1}% + \noindent\unhbox0\par}} +\bidi@ensure@newcommand{\bidi@make@mppara@LTRfootgroup}[1]{% +\@namedef{@mppara@LTRfootgroup#1}{% + \unvbox\@nameuse{@mpfootins#1} + \@RTLfalse + \m@mmakehboxofhboxes + \setbox0=\hbox{\unhbox0 \m@mremovehboxes}% + \def\baselinestretch{\m@m@footnote@spacing}% + \@nameuse{foottextfont#1}% + \noindent\unhbox0\par}} +\bidi@ensure@newcommand{\m@make@para@footstart}[1]{% +\@namedef{@para@footstart#1}{% + \if@bidi@void@footins + \bidi@mopfn@bottom + \fi + \leftskip=\z@ + \rightskip=\z@ + \parindent=\z@ + \vskip\skip\footins + \if@bidi@void@footins + \footnoterule + \fi}} +\bidi@ensure@newcommand{\bidi@make@para@footstart@@}[1]{% +\@namedef{@@para@footstart@@#1}{% + \leftskip=\z@ + \rightskip=\z@ + \parindent=\z@ + \vskip\skip\footins}} +\bidi@ensure@newcommand*{\m@m@makecolfloats}{% + \xdef\@freelist{\@freelist\@midlist}% + \global\let\@midlist\@empty + \@combinefloats} +\bidi@ensure@newcommand*{\m@m@makecoltext}{% + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht{% + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \vskip -\dimen@ + \@textbottom}% + \fi} +\bidi@ensure@newcommand*{\m@m@makecolintro}{} +\bidi@ensure@newcommand*{\m@mopfootnote}{\setbox\@outputbox \vbox{% + \boxmaxdepth\@maxdepth + \@tempdima\dp\@cclv + \unvbox\@cclv + \vskip-\@tempdima + \bidi@mopfn@bottom + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% +} +\newcommand*{\bidi@mopfootnotebf}{% + \setbox\@outputbox \vbox{% + \boxmaxdepth\@maxdepth + \unvbox\@outputbox + \bidi@mopfn@bottom + \vskip\skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% +} +\gdef\mem@makecol{% + \m@m@makecolintro + \ifvoid\footins + \global\@bidi@void@footinstrue + \setbox\@outputbox \box\@cclv + \else + \global\@bidi@void@footinsfalse + \m@mopfootnote + \fi + \m@mdoextrafeet + \m@m@makecolfloats + \m@m@makecoltext + \global \maxdepth \@maxdepth} +\gdef\bidi@makecolbf{% + \m@m@makecolintro + \setbox\@outputbox \box\@cclv + \m@m@makecolfloats + \ifvoid\footins + \global\@bidi@void@footinstrue + \else + \global\@bidi@void@footinsfalse + \bidi@mopfootnotebf + \fi + \m@mdoextrafeet + \m@m@makecoltext + \global \maxdepth \@maxdepth} +\newcommand{\FeetAboveFloat}{\gdef\@makecol{\mem@makecol}} +\newcommand{\FeetBelowFloat}{\gdef\@makecol{\bidi@makecolbf}} +\newcommand\FeetAtBottom{\def\bidi@mopfn@bottom{\vfill\relax}} +\newcommand\FeetBelowRagged{\let\bidi@mopfn@bottom\relax} +\FeetAboveFloat +\FeetBelowRagged +% \end{macrocode} +% \iffalse +%</extrafootnotefeatures-xetex-bidi.def> +%<*extreport-xetex-bidi.def> +%\fi +% \section{File \texttt{extreport-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{extreport-xetex-bidi.def}[2017/06/09 v0.3 bidi adaptations for extreport class for XeTeX engine] +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont + \ifnum \c@secnumdepth >\m@ne + \huge\bfseries \@chapapp\space \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \normalfont + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + \if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\renewcommand\thesection {\thechapter\@SepMark\@arabic\c@section} +\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\theequation{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi\@arabic\c@equation} +\renewcommand\thefigure{% + \ifnum \c@chapter>\z@\thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand\thetable{% + \ifnum \c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@table} +% \end{macrocode} +% \iffalse +%</extreport-xetex-bidi.def> +%<*fancybox-xetex-bidi.def> +%\fi +% \section{File \texttt{fancybox-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{fancybox-xetex-bidi.def}[2013/05/01 v0.1 bidi adaptations for fancybox package for XeTeX engine] +\def\fancy@@oval#1#2#3{% + \boxmaxdepth \maxdimen + \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue + \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}% + \@ovxx#1\relax + \advance\@ovxx-\@wholewidth + \@ovyy#2\relax + \advance\@ovyy-\@wholewidth + \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi + \advance\@tempdimb-2\p@ + \ifdim\@tempdimb>\the@cornersize\relax + \@tempdimb=\the@cornersize + \fi + \@getcirc\@tempdimb + \@ovro\ht\@tempboxa \@ovri\dp\@tempboxa + \@ovdx\@ovxx \advance\@ovdx-\@tempdima \divide\@ovdx \tw@ + \@ovdy\@ovyy \advance\@ovdy-\@tempdima \divide\@ovdy \tw@ + \@circlefnt + \setbox\@tempboxa\hbox{\beginL% + \if@ovr \@ovvert32\kern -\@tempdima \fi + \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi + \if@ovt \@ovhorz \kern -\@ovxx \fi + \if@ovb \raise \@ovyy \@ovhorz \fi\endL}% + \advance\@ovdx\@ovro + \advance\@ovdy\@ovro + \advance\@ovxx\@wholewidth + \wd\@tempboxa=\@ovxx + \dp\@tempboxa=\z@} +% \end{macrocode} +% \iffalse +%</fancybox-xetex-bidi.def> +%<*fancyhdr-xetex-bidi.def> +%\fi +% \section{File \texttt{fancyhdr-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{fancyhdr-xetex-bidi.def}[2018/02/15 v0.7 bidi adaptations for fancyhdr package for XeTeX engine] + +\let\f@nch@everypar\everypar + +\def\f@nch@head#1#2#3#4#5{#1\hbox to\headwidth{\f@nch@reset + \f@nch@vbox\headheight{\hbox + {\rlap{\parbox[b]{\headwidth}{\bidi@raggedright#2}}\hfill + \parbox[b]{\headwidth}{\centering#3}\hfill + \llap{\parbox[b]{\headwidth}{\bidi@raggedleft#4}}}\headrule}}#5} + +\def\f@nch@foot#1#2#3#4#5{#1\hbox to\headwidth{\f@nch@reset + \f@nch@vbox\footskip{\footrule + \hbox{\rlap{\parbox[t]{\headwidth}{\bidi@raggedright#2}}\hfill + \parbox[t]{\headwidth}{\centering#3}\hfill + \llap{\parbox[t]{\headwidth}{\bidi@raggedleft#4}}}}}#5} + +% \end{macrocode} +% \iffalse +%</fancyhdr-xetex-bidi.def> +%<*fix2col-xetex-bidi.def> +%\fi +% \section{File \texttt{fix2col-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{fix2col-xetex-bidi.def}[2017/05/06 v0.4 bidi adaptations for fix2col package for XeTeX engine] +\def\RTL@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi +\else \global\@firstcolumntrue +\setbox\@outputbox \vbox {\hbox to\textwidth {% +\hskip \columnwidth +\hfil \vrule width\columnseprule \hfil +\hbox to\columnwidth {% +\bidi@firstcolumn@status@write% +\box\@leftcolumn \hss}% +\hskip -\textwidth +\hbox to\columnwidth{% +\bidi@lastcolumn@status@write% +\box\@outputbox \hss}% +\hskip \columnsep +\hskip \columnwidth }}% +\@combinedblfloats \@setmarks \@outputpage +\begingroup \@dblfloatplacement \@startdblcolumn +\@whilesw\if@fcolmade \fi +{\@outputpage \@startdblcolumn }\endgroup +\fi} +\def\LTR@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}}}% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}% + \endgroup + \fi} +% \end{macrocode} +% \iffalse +%</fix2col-xetex-bidi.def> +%<*fleqn-xetex-bidi.def> +%\fi +% \section{File \texttt{fleqn-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{fleqn-xetex-bidi.def}[2010/03/01 v0.1 bidi adaptations for fleqn tag for XeTeX engine] +\renewcommand\[{\relax + \ifmmode\@badmath + \else + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \item[]\leavevmode + \hb@xt@\linewidth\bgroup \beginL$\m@th\displaystyle %$ + \hskip\mathindent\bgroup + \fi} +\renewcommand\]{\relax + \ifmmode + \egroup $\hfil% $ + \endL\egroup + \end{trivlist}% + \else \@badmath + \fi} +\renewenvironment{equation}% + {\@beginparpenalty\predisplaypenalty + \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}% + \trivlist \item[]\leavevmode + \hb@xt@\linewidth\bgroup\beginL $\m@th% $ + \displaystyle + \hskip\mathindent}% + {$\hfil % $ + \displaywidth\linewidth\hbox{\@eqnnum}% + \endL\egroup + \endtrivlist} +% \end{macrocode} +% \iffalse +%</fleqn-xetex-bidi.def> +%<*float-xetex-bidi.def> +%\fi +% \section{File \texttt{float-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{float-xetex-bidi.def}[2013/04/04 v0.2 bidi adaptations for float package for XeTeX engine] +\renewcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}% + \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par + \else\hbox to\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}\fi} +\def\float@newx#1[#2]{\@ifundefined{c@#1}{\newcounter{#1}[#2]% + \expandafter\edef\csname the#1\endcsname{% + \expandafter\noexpand\csname + the#2\endcsname\@SepMark\noexpand\arabic{#1}}}% + {\PackageWarning{float}{Can't redefine counter variable for #1.}}} +% \end{macrocode} +% \iffalse +%</float-xetex-bidi.def> +%<*floatrow-xetex-bidi.def> +%\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] +\renewcommand\flnew@within[1]{\@addtoreset{\FB@captype}{#1}% + \expandafter\edef\csname the\FB@captype\endcsname{% + \expandafter\noexpand\csname + the#1\endcsname\@SepMark\noexpand\arabic{\FB@captype}}} +% \end{macrocode} +% \iffalse +%</floatrow-xetex-bidi.def> +%<*flowfram-xetex-bidi.def> +%\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] +\def\@outputdblcol{% +\@nxtcol=\c@thisframe +\c@curpg=\c@page +\@g@tnextcol{\@nxtcol}% +\if@ff@nwpg % next flow frame starts on new page + \global\@firstcolumntrue + \@setcolbox\c@thisframe + \if@specialpage + \global\@specialpagefalse + \@nameuse{ps@\@specialstyle}\relax + \fi + \if@twoside + \ifodd\count\z@ + \let\@thehead\@oddhead + \let\@thefoot\@oddfoot + \else + \let\@thehead\@evenhead + \let\@thefoot\@evenfoot + \fi + \else + \let\@thehead\@oddhead + \let\@thefoot\@oddfoot + \fi + \@begindvi + \@dodynamicthehead\@dodynamicthefoot + \vbadness=\@M + \setbox\@outputbox\vbox{\hbox to \textwidth{\@ff@do@allframes}}% + \@combinedblfloats + \@outputpage +\advance\c@curpg by -\c@page\relax + \whiledo{\c@curpg>0}{\advance\c@curpg by -1\relax + \setbox\@outputbox\vbox{\hbox to \textwidth{\@ff@do@allframes}}% +\@outputpage} + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw \if@fcolmade \fi + {\@outputpage \@startdblcolumn }\endgroup + \@resetst@tics + \@resetdyn@mics +\else % still on same page, save contents of box255 + \global\@firstcolumnfalse + \@setcolbox\c@thisframe +\fi +\global\c@thisframe=\@nxtcol +\@setcol{\c@thisframe}\relax +\global\@colht\vsize +} +\def\@outputpage{% +\begingroup + \let\protect\noexpand + \@resetactivechars + \global\let\@@if@newlist\if@newlist + \global\@newlistfalse\@parboxrestore + \global\let\bidi@BeforeOutputPageShipOut\@firstofone + \bidi@beforeoutputpageshipouthook + \shipout\vbox{\set@typeset@protect + \aftergroup + \endgroup + \aftergroup + \set@typeset@protect + \reset@font\normalsize + \bidi@font@@outputpage + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip + \lineskip\z@skip + \lineskiplimit\z@ + \vskip\topmargin\moveright\@themargin + \vbox{% + \global\let\bidi@BeforeHeader\@firstofone + \bidi@beforeheaderhook + \vskip\headheight + \vskip\headsep + \global\let\bidi@BeforeOutputBoxOutputPage\@firstofone + \bidi@beforeoutputboxoutputpagehook + \box\@outputbox + \global\let\bidi@AfterOutputBoxOutputPage\@firstofone + \bidi@afteroutputboxoutputpagehook + }}% + \global\let\bidi@AfterOutputPageShipOut\@firstofone + \bidi@afteroutputpageshipouthook + \global\let\if@newlist\@@if@newlist + \stepcounter{page}% + \setcounter{displayedframe}{0}% + \let\firstmark\botmark + \global\let\bidi@AtEndOutputPage\@firstofone + \bidi@atendoutputpagehook + } + + +\newcommand*\bidi@s@tfftextcol{\ifthenelse{\equal{\ff@txtcol}{}}{}{% +\expandafter\bidicolor\ff@txtcol}} + +\newcommand{\bidi@ff@box}[3]{{\@ffbackground{\vbox to#2 +{\hb@xt@ #1{\hss{\bidi@s@tfftextcol #3}\hss}\vss\kern\z@}}}} + + +\renewcommand*{\@docolbox}[1]{% +\edef\ff@frametype{% +\csname @ff@frametype@\romannumeral#1\endcsname}% +\edef\ff@col{\csname @ff@col@\romannumeral#1\endcsname}% +\edef\ff@txtcol{\csname @ff@txtcol@\romannumeral#1\endcsname}% +\edef\ff@backcol{\csname @ff@backcol@\romannumeral#1\endcsname}% +\@ff@setoffset{#1}% +\rotateframe{\csname @ff@angle@\romannumeral#1\endcsname}{% +\ifthenelse{\boolean{columnframe\romannumeral#1}}{% +\@ff@fbox{\csname colwidth\romannumeral#1\endcsname}% +{\csname colheight\romannumeral#1\endcsname}{% +\expandafter\box\csname column\romannumeral#1\endcsname}{% +\csname\ff@frametype\endcsname}% +}{% +\bidi@ff@box{\csname colwidth\romannumeral#1\endcsname}% +{\csname colheight\romannumeral#1\endcsname}{% +\expandafter\box\csname column\romannumeral#1\endcsname}% +}}} +\@ifclassloaded{book}{% +\renewcommand\theequation + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} +\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\theequation + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} +\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{\rotateframe}[2]{\if@ttb@rotate +\rotatebox{#1}{\if@RTL\beginL\fi#2\if@RTL\endL\fi}% +\else +#2\relax +\fi} +% \end{macrocode} +% \iffalse +%</flowfram-xetex-bidi.def> +%<*footnote-xetex-bidi.def> +%\fi +% \section{File \texttt{footnote-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{footnote-xetex-bidi.def}[2017/08/09 v1.1 bidi footnote macros for XeTeX engine] +\if@RTLmain\@RTL@footnotetrue\else\@RTL@footnotefalse\fi +\newif\ifbidi@autofootnoterule +\def\bidi@mpfootnoterule{\footnoterule} +\newcounter{footdir@label} +\renewcommand*{\thefootdir@label}{footdir@\the\value{footdir@label}} +\newcommand*{\footdir@write}{% + \stepcounter{footdir@label}% + \zref@labelbyprops{\thefootdir@label}{abspage}% +} +\newif\iffootdir@debug +\newcommand*{\debugfootnotedirection}{\footdir@debugtrue} +\newtoks\footdir@toks +\newcommand*{\footdir@debug}[1]{% + \iffootdir@debug + \typeout{[footdir] #1}% + \fi +} +%\@ifpackagelater{zref-abspage}{2012/10/27}{% +% \newcommand*{\footdir@LeftRightElse}{% +% \ltx@ifundefined{footdir@\the\value{zabspage}}{% +% \footdir@debug{abspage \the\value{zabspage}: else}% +% \ltx@thirdofthree +% }{% +% \if\csname footdir@\the\value{zabspage}\endcsname L% +% \footdir@debug{abspage \the\value{zabspage}: left}% +% \expandafter\ltx@firstofthree +% \else +% \footdir@debug{abspage \the\value{zabspage}: right}% +% \expandafter\ltx@secondofthree +% \fi +% }% +% }% +%}{% + \providecommand*{\c@zabspage}{\c@abspage}% + \newcommand*{\footdir@LeftRightElse}{% + \footdir@write + \zifrefundefined{\thefootdir@label}{% + \footdir@debug{abspage ??: else}% + \ltx@thirdofthree + }{% + \edef\footdir@abspage{% + \zref@extractdefault{\thefootdir@label}{abspage}{0}% + }% + \ltx@ifundefined{footdir@\footdir@abspage}{% + \footdir@debug{\footdir@abspage: else}% + \ltx@thirdofthree + }{% + \if\csname footdir@\footdir@abspage\endcsname L% + \footdir@debug{\footdir@abspage: left}% + \expandafter\ltx@firstofthree + \else + \footdir@debug{\footdir@abspage: right}% + \expandafter\ltx@secondofthree + \fi + }% + }% + }% +%} +\newcommand*{\footdir@fntext}[1]{% + \zifrefundefined{\thefootdir@label}{% + }{% + \edef\footdir@name{% + footdir@\zref@extractdefault{\thefootdir@label}{abspage}{0}% + }% + \@ifundefined{\footdir@name}{% + \expandafter\gdef\csname\footdir@name\endcsname{#1}% + }{}% + }% +} + +\newcommand*{\footdir@temp}[3]{% + \@ifdefinable{#1}{% + \let#1#2% + \renewcommand{#2}[1]{% + \footdir@write + \footdir@fntext{#3}% + \stepcounter{footdir@label}% + \footdir@fntext{#3}% + \footdir@toks{##1}% + \footdir@toks\expandafter{% + \the\expandafter\footdir@toks + \expandafter + \zref@labelbyprops\expandafter{\thefootdir@label}{abspage}% + }% + \expandafter#1\expandafter{\the\footdir@toks}% + }% + }% +} + +\def\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\def\left@footnoterule{\kern-3\p@ + \hrule \@width .4\columnwidth \kern 2.6\p@} +\def\textwidth@footnoterule{\kern-3\p@ + \hrule \@width \columnwidth \kern 2.6\p@} +\def\leftfootnoterule{% +\bidi@autofootnoterulefalse% +\def\footnoterule{\left@footnoterule}} +\let\LRfootnoterule=\leftfootnoterule +\def\rightfootnoterule{% +\bidi@autofootnoterulefalse% +\def\footnoterule{\right@footnoterule}} +\def\textwidthfootnoterule{% +\bidi@autofootnoterulefalse% +\def\footnoterule{\textwidth@footnoterule}} + + + +\def\auto@footnoterule{% +\footdir@LeftRightElse% +\left@footnoterule% +\right@footnoterule% +\left@footnoterule% +} + + + +\def\autofootnoterule{% +\bidi@autofootnoteruletrue% +\def\footnoterule{\auto@footnoterule}% +} + +\newcommand*{\SplitFootnoteRule}{% + \gdef\split@prev{0} + \let\pagefootnoterule\footnoterule + \let\mpfootnoterule\footnoterule + \def\splitfootnoterule{\kern-3\p@ \hrule \kern2.6\p@} + \def\footnoterule{\relax + \ifx \@listdepth\@mplistdepth + \mpfootnoterule + \else + \ifnum\split@prev=\z@ + \pagefootnoterule + \else + \splitfootnoterule + \fi + \xdef\split@prev{\the\insertpenalties}% + \fi + }% +} + + + + +\def\RTLfootnote{\@ifnextchar[\@xRTLfootnote{\stepcounter\@mpfn + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark\@RTLfootnotetext}} +\def\@xRTLfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\@RTLfootnotetext} +\def\LTRfootnote{\@ifnextchar[\@xLTRfootnote{\stepcounter\@mpfn + \protected@xdef\@thefnmark{\thempfn}% + \@footnotemark\@LTRfootnotetext}} +\def\@xLTRfootnote[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@footnotemark\@LTRfootnotetext} + + +\def\setfootnoteRL{\@RTL@footnotetrue} +\def\unsetfootnoteRL{\@RTL@footnotefalse} +\def\setfootnoteLR{\unsetfootnoteRL} + +\newcommand*{\bidi@@footnotetext@font}{\footnotesize} +\newcommand*{\bidi@@LTRfootnotetext@font}{\footnotesize} +\newcommand*{\bidi@@RTLfootnotetext@font}{\footnotesize} + +\long\def\@footnotetext#1{\insert\footins{% + \if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \reset@font% + \bidi@@footnotetext@font% \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% + + +\long\def\@RTLfootnotetext#1{\insert\footins{% + \@RTLtrue% + \reset@font% + \bidi@@RTLfootnotetext@font% \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% + +\long\def\@LTRfootnotetext#1{\insert\footins{% + \@RTLfalse% + \reset@font% + \bidi@@LTRfootnotetext@font% \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}}% + +\AtBeginDocument{% +\if@RTL@footnote + \newcommand*{\bidi@footdir@footnote}{R} +\else + \newcommand*{\bidi@footdir@footnote}{L} +\fi% +} + +\footdir@temp\footdir@ORG@bidi@footnotetext\@footnotetext{\bidi@footdir@footnote}% +\footdir@temp\footdir@ORG@bidi@RTLfootnotetext\@RTLfootnotetext{R}% +\footdir@temp\footdir@ORG@bidi@LTRfootnotetext\@LTRfootnotetext{L}% + +\long\def\@mpRTLfootnotetext#1{% + \ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\right@footnoterule\fi\fi% + \global\setbox\@mpfootins\vbox{\@RTLtrue% + \unvbox\@mpfootins + \reset@font% + \bidi@@RTLfootnotetext@font% \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}} +\long\def\@mpLTRfootnotetext#1{% + \ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi% + \global\setbox\@mpfootins\vbox{\@RTLfalse% + \unvbox\@mpfootins + \reset@font% + \bidi@@LTRfootnotetext@font% \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}} +\long\def\@mpfootnotetext#1{% + \ifbidi@autofootnoterule\ifnum\c@mpfootnote=\@ne\if@RTL@footnote\global\let\bidi@mpfootnoterule\right@footnoterule\else\global\let\bidi@mpfootnoterule\left@footnoterule\fi\fi\fi% + \global\setbox\@mpfootins\vbox{\if@RTL@footnote\@RTLtrue\else\@RTLfalse\fi% + \unvbox\@mpfootins + \reset@font% + \bidi@@footnotetext@font% \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \color@endgroup}} +\def\@iiiminipage#1#2[#3]#4{% + \leavevmode + \@pboxswfalse + \if@hboxRconstruct\@bidi@list@minipage@parbox@not@nobtrue\fi + \if@RTL\if#1t\@bidi@list@minipage@parboxtrue\else\if#1b\@bidi@list@minipage@parboxtrue\fi\fi\fi + \setlength\@tempdima{#4}% + \def\@mpargs{{#1}{#2}[#3]{#4}}% + \setbox\@tempboxa\vbox\bgroup + \color@begingroup + \hsize\@tempdima + \textwidth\hsize \columnwidth\hsize + \@parboxrestore + \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ + \let\@footnotetext\@mpfootnotetext + \let\@LTRfootnotetext\@mpLTRfootnotetext + \let\@RTLfootnotetext\@mpRTLfootnotetext + \let\@listdepth\@mplistdepth \@mplistdepth\z@ + \@minipagerestore + \@setminipage} +\def\endminipage{% + \par + \unskip + \ifvoid\@mpfootins\else + \vskip\skip\@mpfootins + \normalcolor + \bidi@mpfootnoterule + \unvbox\@mpfootins + \fi + \@minipagefalse %% added 24 May 89 + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}} +\def\LTRthanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\LTRfootnotetext[\the\c@footnote]{#1}}% +} +\def\LTRfootnotetext{% + \@ifnextchar [\@xLTRfootnotenext + {\protected@xdef\@thefnmark{\thempfn}% + \@LTRfootnotetext}} +\def\@xLTRfootnotenext[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@LTRfootnotetext} +\def\RTLthanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\RTLfootnotetext[\the\c@footnote]{#1}}% +} +\let\@thanks\@empty +\def\RTLfootnotetext{% + \@ifnextchar [\@xRTLfootnotenext + {\protected@xdef\@thefnmark{\thempfn}% + \@RTLfootnotetext}} +\def\@xRTLfootnotenext[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \@RTLfootnotetext} +\leftfootnoterule +% \end{macrocode} +% \iffalse +%</footnote-xetex-bidi.def> +%<*framed-xetex-bidi.def> +%\fi +% \section{File \texttt{framed-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{framed-xetex-bidi.def}[2012/06/05 v0.3 bidi adaptations for framed package for XeTeX engine] +\renewcommand\TitleBarFrame[3][]{\begingroup + \ifx\delimiter#1\delimiter + \let\TF@conlab\@empty + \else + \def\TF@conlab{% continuation label + \nointerlineskip + \smash{\rlap{\kern\wd\@tempboxa\kern\fboxrule\kern\fboxsep #1}}}% + \fi + %\let\TF@savecolor\current@color + \textcolor{TFFrameColor}{% + \CustomFBox + {\TF@Title{#2}}{\TF@conlab}% + \fboxrule\fboxrule\fboxrule\fboxrule + %{\let\current@color\TF@savecolor\set@color #3}% + {\normalcolor #3}% + }\endgroup +} +\renewenvironment{titled-frame}[1]{% + \def\FrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame{\textbf{#1}}}% + \def\FirstFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1}}}% + \def\MidFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame[$\if@RTL\blacktriangleleft\else\blacktriangleright\fi$]{\textbf{#1\ (cont)}}}% + \def\LastFrameCommand{\fboxsep8pt\fboxrule2pt + \TitleBarFrame{\textbf{#1\ (cont)}}}% + \MakeFramed{\advance\hsize-20pt \FrameRestore}}% +% note: 8 + 2 + 8 + 2 = 20. Don't use \width because the frame title +% could interfere with the width measurement. + {\endMakeFramed} +\chardef\FrameRestore=\catcode`\| % for debug +\catcode`\|=\catcode`\% % (debug: insert space after backslash) +\def\fb@put@frame#1#2{\relax + \ifdim\pagegoal=\maxdimen \pagegoal\vsize \fi +| \message{=============== Entering putframe ====================^^J +| \pagegoal=\the\pagegoal, \pagetotal=\the\pagetotal. }% + \ifinner + \fb@putboxa#1% + \fb@afterframe + \else + \dimen@\pagegoal \advance\dimen@-\pagetotal % natural space left on page + \ifdim\dimen@<2\baselineskip % Too little room on page +| \message{Page has only \the\dimen@\space room left; eject. }% + \eject \fb@adjheight \fb@put@frame#1#2% + \else % there's appreciable room left on the page + \fb@sizeofframe#1% +| \message{\string\pagetotal=\the\pagetotal, +| \string\pagegoal=\the\pagegoal, +| \string\pagestretch=\the\pagestretch, +| \string\pageshrink=\the\pageshrink, +| \string\fb@frh=\the\fb@frh. \space} +| \message{^^JBox of size \the\ht\@tempboxa\space}% + \begingroup % temporarily set \dimen@ to be... + \advance\dimen@.8\pageshrink % maximum space available on page + \advance\dimen@-\fb@frh\relax % max space available for frame's contents +%%% LOOKS SUBTRACTED AND ADDED, SO DOUBLE ACCOUNTING! + \expandafter\endgroup + % expand \ifdim, then restore \dimen@ to real room left on page + \ifdim\dimen@>\ht\@tempboxa % whole box does fit +| \message{fits in \the\dimen@. }% + % ToDo: Change this to use vsplit anyway to capture the marks + % MERGE THIS WITH THE else CLAUSE!!! + \fb@putboxa#1% + \fb@afterframe + \else % box must be split +| \message{must be split to fit in \the\dimen@. }% + % update frame measurement to use \FirstFrameCommand or \MidFrameCommand + \fb@sizeofframe#2% + \setbox\@tempboxa\vbox{% simulate frame and flexiblity of the page: + \vskip \fb@frh \@plus\pagestretch \@minus.8\pageshrink + \kern137sp\kern-137sp\penalty-30 + \unvbox\@tempboxa}% + \edef\fb@resto@set{\boxmaxdepth\the\boxmaxdepth + \splittopskip\the\splittopskip}% + \boxmaxdepth\z@ \splittopskip\z@ +| \message{^^JPadded box of size \the\ht\@tempboxa\space split to \the\dimen@}% + % Split box here + \setbox\tw@\vsplit\@tempboxa to\dimen@ +| \toks99\expandafter{\splitfirstmark}% +| \toks98\expandafter{\splitbotmark}% +| \message{Marks are: \the\toks99, \the\toks98. }% + \setbox\tw@\vbox{\unvbox\tw@}% natural-sized +| \message{Natural height of split box is \the\ht\tw@, leaving +| \the\ht\@tempboxa\space remainder. }% + % If the split-to size > (\vsize-\topskip), then set box to full size. + \begingroup + \advance\dimen@\topskip + \expandafter\endgroup + \ifdim\dimen@>\pagegoal +| \message{Frame is big -- Use up the full column. }% + \dimen@ii\pagegoal + \advance\dimen@ii -\topskip + \advance\dimen@ii \FrameHeightAdjust\relax + \else % suspect this is implemented incorrectly: + % If the split-to size > feasible room_on_page, rebox it smaller. + \advance\dimen@.8\pageshrink + \ifdim\ht\tw@>\dimen@ +| \message{Box too tall; rebox it to \the\dimen@. }% + \dimen@ii\dimen@ + \else % use natural size + \dimen@ii\ht\tw@ + \fi + \fi + % Re-box contents to desired size \dimen@ii + \advance\dimen@ii -\fb@frh + \setbox\tw@\vbox to\dimen@ii \bgroup + % remove simulated frame and page flexibility: + \vskip -\fb@frh \@plus-\pagestretch \@minus-.8\pageshrink + \unvbox\tw@ \unpenalty\unpenalty + \ifdim\lastkern=-137sp % whole box went to next page +| \message{box split at beginning! }% + % need work here??? + \egroup \fb@resto@set \eject % (\vskip for frame size was discarded) + \fb@adjheight + \fb@put@frame#1#2% INSERTED ??? + \else % Got material split off at the head + \egroup \fb@resto@set + \ifvoid\@tempboxa % it all fit after all +| \message{box split at end! }% + \setbox\@tempboxa\box\tw@ + \fb@putboxa#1% + \fb@afterframe + \else % it really did split +| \message{box split as expected. Its reboxed height is \the\ht\tw@. }% + \ifdim\wd\tw@>\z@ + \wd\tw@\wd\@tempboxa + \centerline{#2{\hboxL{\box\tw@}}}% ??? \centerline bad idea + \else +| \message{Zero width means likely blank. Don't frame it (guess)}% + \box\tw@ + \fi + \hrule \@height\z@ \@width\hsize + \eject + \fb@adjheight + \fb@put@frame\LastFrameCommand\MidFrameCommand + \fi\fi\fi\fi\fi +} +\def\fb@putboxa#1{% + \ifvoid\@tempboxa + \PackageWarning{framed}{Boxa is void -- discard it. }% + \else +| \message{Frame and place boxa. }% +| %{\showoutput\showbox\@tempboxa}% + \centerline{#1{\hboxL{\box\@tempboxa}}}% + \fi +} +\catcode`\|=\FrameRestore +\def\FrameRestore{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + % \message{FrameRestore: + % \@totalleftmargin=\the \@totalleftmargin, + % \rightmargin=\the\rightmargin, + % \@listdepth=\the\@listdepth. }% + % Test if we are in a list (or list-like paragraph) + \ifnum \ifdim\@totalleftmargin>\z@ 1\fi + \ifdim\rightmargin>\z@ 1\fi + \ifnum\@listdepth>\z@ 1\fi 0>\z@ + % \message{In a list: \linewidth=\the\linewidth, \@totalleftmargin=\the\@totalleftmargin, + % \parshape=\the\parshape, \columnwidth=\the\columnwidth, \hsize=\the\hsize, + % \labelwidth=\the\labelwidth. }% + \@setminipage % snug fit around the item + % Now try to propageate changes of width from \hsize to list parameters. + % This is deficient, but a more advanced way to indicate modification to text + % dimensions is not (yet) provided; in particular, no separate left/right + % adjustment. + \advance\linewidth-\columnwidth \advance\linewidth\hsize + \parshape\@ne \@totalleftmargin \linewidth + \else % Not in list + \linewidth=\hsize + %\message{No list, set \string\linewidth=\the\hsize. }% + \fi + \sloppy +} +% \end{macrocode} +% \iffalse +%</framed-xetex-bidi.def> +%<*ftnright-xetex-bidi.def> +%\fi +% \section{File \texttt{ftnright-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{ftnright-xetex-bidi.def}[2018/09/29 v0.6 bidi adaptations for ftnright package for XeTeX engine] + +\def\prepare@bidi@copyins{% + \global\bidi@rcol@copyinsskip\skip\@bidi@copyins@ + \global\skip\@bidi@copyins@\z@ + \global\count\@bidi@copyins@\z@ + \global\dimen\@bidi@copyins@\textheight} + +\newskip\bidi@rcol@copyinsskip + +\def\LTR@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \global\count\footins\@m + \global\skip\footins\rcol@footinsskip + \global\count\@bidi@copyins@\@m + \global\skip\@bidi@copyins@\bidi@rcol@copyinsskip + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \preparefootins + \prepare@bidi@copyins + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}}}% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \endgroup + \fi}% + +\def\RTL@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \global\count\footins\@m + \global\skip\footins\rcol@footinsskip + \global\count\@bidi@copyins@\@m + \global\skip\@bidi@copyins@\bidi@rcol@copyinsskip + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \preparefootins + \prepare@bidi@copyins + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hskip \columnwidth + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hskip -\textwidth + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}% + \hskip \columnsep + \hskip \columnwidth }}% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \endgroup + \fi}% + +\def\@startcolumn{% + \ifx\@deferlist\@empty + \global\@fcolmadefalse + \global\@colroom\@colht + \else + \ifvoid\footins\else + \ftn@amount\ht\footins + \advance\ftn@amount\dp\footins + \advance\ftn@amount\skip\footins + \fi + \ifvoid\@bidi@copyins@\else + \bidi@copyins@amount\ht\@bidi@copyins@ + \advance\bidi@copyins@amount\dp\@bidi@copyins@ + \advance\bidi@copyins@amount\skip\@bidi@copyins@ + \fi + \global\advance\@colht-\ftn@amount + \global\advance\@colht-\bidi@copyins@amount + \global\@colroom\@colht + \@xstartcol + \global\advance\@colht\ftn@amount + \global\advance\@colroom\ftn@amount + \global\advance\@colht\bidi@copyins@amount + \global\advance\@colroom\bidi@copyins@amount + \fi + \if@fcolmade + \setbox\@cclv\box\@outputbox + \@makecol + \else + \ifvoid\footins\else + \insert\footins{\unvbox\footins}\fi + \ifvoid\@bidi@copyins@\else + \insert\@bidi@copyins@{\unvbox\@bidi@copyins@}\fi + \fi} + +\newdimen\bidi@copyins@amount + +\def\@makecol{\if@firstcolumn + \setbox\@outputbox\box\@cclv + \if@twocolumn \else + \ifvoid\footins \else + \@latexerr{ftnright package + used in one-column mode}% + {The ftnright package was designed to + work with LaTeX's standard^^Jtwocolumn + option. It does *not* work with the + multicol package.^^JSo please specify + `twocolumn' in the + \noexpand\documentclass command.}% + \shipout\box\footins \fi + \ifvoid\@bidi@copyins@ \else + \@latexerr{ftnright package + used in one-column mode}% + {The ftnright package was designed to + work with LaTeX's standard^^Jtwocolumn + option. It does *not* work with the + multicol package.^^JSo please specify + `twocolumn' in the + \noexpand\documentclass command.}% + \shipout\box\@bidi@copyins@ \fi\fi + \ifnum\insertpenalties>\z@ + \@latexerr{ftnright package + scrambled footnotes}% + {There is too much footnote material in + the first column and ftnright^^Jis + unable to cope with this.^^JYou need + to reduce the amount to get a properly + formatted page.}% + \fi + \else + \ifvoid\footins + \ifvoid\@bidi@copyins@ + \setbox\@outputbox\box\@cclv + \else + \setbox\@outputbox\vbox + {\ifvoid\@cclv \else + \unvbox\@cclv + \vskip \skip\@bidi@copyins@ + \fi + \color@begingroup + \normalcolor + \unvbox \@bidi@copyins@ + \color@endgroup}% + \fi + \else + \setbox\@outputbox\vbox + {\ifvoid\@cclv \else + \unvbox\@cclv + \vskip\skip\footins\fi + \color@begingroup + \normalcolor + \footnoterule\unvbox\footins + \color@endgroup + \ifvoid\@bidi@copyins@ + \else + \vskip \skip\@bidi@copyins@ + \color@begingroup + \normalcolor + \unvbox \@bidi@copyins@ + \color@endgroup + \fi + }% + \fi + \fi + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox\vbox to\@colht + {\boxmaxdepth\maxdepth + \@texttop + \@tempdima\dp\@outputbox + \unvbox\@outputbox + \vskip-\@tempdima + \@textbottom}% + \fi + \global\maxdepth\@maxdepth} + +\let\leftfootnoterule\@empty +\let\rightfootnoterule\@empty +\let\textwidthfootnoterule\@empty +\let\autofootnoterule\@empty +\let\footnoterule\@empty +\long\def\@makefntext#1{\parindent 1em + \noindent\hbox to 2em{}% + \llap{\@thefnmark\hbox{.}\,\,}#1} + +\setlength{\skip\@bidi@copyins@} + {10pt plus 5pt minus 3pt} +\AtBeginDocument{\prepare@bidi@copyins} +% \end{macrocode} +% \iffalse +%</ftnright-xetex-bidi.def> +%<*graphicx-xetex-bidi.def> +%\fi +% \section{File \texttt{graphicx-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{graphicx-xetex-bidi.def}[2017/06/17 v0.5 bidi adaptations for graphicx package for XeTeX engine] +\def\Grot@box@std#1#2{\ifmmode\else\if@RTL\beginL\fi\fi% + \Grot@setangle{#1}% + \setbox\z@\hbox{{\ifmmode\if@RTL\beginR\fi#2\if@RTL\endR\fi\else\if@RTL\beginR\fi#2\if@RTL\endR\fi\fi}}% + \Grot@x\z@ + \Grot@y\z@ + \Grot@box\ifmmode\else\if@RTL\endL\fi\fi} +\long\def\Grot@box@kv[#1]#2#3{\ifmmode\else\if@RTL\beginL\fi\fi% + \@begin@tempboxa\hbox{\ifmmode\if@RTL\beginR\fi#3\if@RTL\endR\fi\else\if@RTL\beginR\fi#3\if@RTL\endR\fi\fi}% + \Grot@x\width \divide\Grot@x\tw@ + \Grot@y\height \advance\Grot@y-\depth \divide\Grot@y\tw@ + \setkeys{Grot}{#1}% + \setbox\z@\box\@tempboxa + \Grot@setangle{#2}% + \Grot@box\ifmmode\else\if@RTL\endL\fi\fi + \@end@tempboxa} +\long\def\Gscale@box#1[#2]#3{\ifmmode\else\if@RTL\beginL\fi\fi% + \leavevmode + \def\Gscale@x{#1}\def\Gscale@y{#2}% + \setbox\z@\hbox{{#3}}% + \setbox\tw@\hbox{\Gscale@start\rlap{\copy\z@}\Gscale@end}% + \ifdim#2\p@<\z@ + \ht\tw@-#2\dp\z@ + \dp\tw@-#2\ht\z@ + \else + \ht\tw@#2\ht\z@ + \dp\tw@#2\dp\z@ + \fi + \ifdim#1\p@<\z@ + \hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}% + \else + \wd\tw@#1\wd\z@ + \box\tw@ + \fi\ifmmode\else\if@RTL\endL\fi\fi} +\def\Gin@iii[#1,#2][#3,#4]#5{% + \begingroup + \ifmmode\else\if@RTL\beginL\fi\fi + \Gin@bboxtrue + \Gin@defaultbp\Gin@llx{#1}% + \Gin@defaultbp\Gin@lly{#2}% + \Gin@defaultbp\Gin@urx{#3}% + \Gin@defaultbp\Gin@ury{#4}% + \Ginclude@graphics{#5}% + \ifmmode\else\if@RTL\endL\fi\fi + \endgroup} +\def\Gin@ii[#1]#2{% + \def\@tempa{[}\def\@tempb{#2}% + \ifx\@tempa\@tempb + \def\@tempa{\Gin@iii[#1][}% + \expandafter\@tempa + \else + \begingroup + \ifmmode\else\if@RTL\beginL\fi\fi + \@tempswafalse + \toks@{\Ginclude@graphics{#2}}% + \setkeys{Gin}{#1}% + \Gin@esetsize + \the\toks@ + \ifmmode\else\if@RTL\endL\fi\fi + \endgroup + \fi} +\def\reflectbox{\bidiGscale@box-1[1]} +\long\def\bidiGscale@box#1[#2]#3{\ifmmode\else\if@RTL\beginL\fi\fi% + \leavevmode + \def\Gscale@x{#1}\def\Gscale@y{#2}% + \setbox\z@\hbox{{\ifmmode\if@RTL\beginR\fi#3\if@RTL\endR\fi\else\if@RTL\beginR\fi#3\if@RTL\endR\fi\fi}}% + \setbox\tw@\hbox{\Gscale@start\rlap{\copy\z@}\Gscale@end}% + \ifdim#2\p@<\z@ + \ht\tw@-#2\dp\z@ + \dp\tw@-#2\ht\z@ + \else + \ht\tw@#2\ht\z@ + \dp\tw@#2\dp\z@ + \fi + \ifdim#1\p@<\z@ + \hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}% + \else + \wd\tw@#1\wd\z@ + \box\tw@ + \fi\ifmmode\else\if@RTL\endL\fi\fi} +\def\scalebox#1{% + \@ifnextchar[{\bidiGscale@box{#1}}{\bidiGscale@box{#1}[#1]}} +\def\resizebox{% + \leavevmode + \@ifstar{\bidiGscale@@box\totalheight}{\bidiGscale@@box\height}} +\def\bidiGscale@@box#1#2#3{% + \let\@tempa\Gin@exclamation + \expandafter\def\expandafter\@tempb\expandafter{\string#2}% + \expandafter\def\expandafter\@tempc\expandafter{\string#3}% + \ifx\@tempb\@tempa + \ifx\@tempc\@tempa + \toks@{\mbox}% + \else + \toks@{\bidiGscale@box@dd{#3}#1}% + \fi + \else + \ifx\@tempc\@tempa + \toks@{\bidiGscale@box@dd{#2}\width}% + \else + \toks@{\bidiGscale@box@dddd{#2}\width{#3}#1}% + \fi + \fi + \the\toks@} +\long\def\bidiGscale@box@dd#1#2#3{% + \@begin@tempboxa\hbox{\ifmmode\if@RTL\beginR\fi#3\if@RTL\endR\fi\else\if@RTL\beginR\fi#3\if@RTL\endR\fi\fi}% + \setlength\@tempdima{#1}% + \setlength\@tempdimb{#2}% + \Gscale@div\@tempa\@tempdima\@tempdimb + \Gscale@box\@tempa[\@tempa]{\box\@tempboxa}% + \@end@tempboxa} +\long\def\bidiGscale@box@dddd#1#2#3#4#5{% + \@begin@tempboxa\hbox{\ifmmode\if@RTL\beginR\fi#5\if@RTL\endR\fi\else\if@RTL\beginR\fi#5\if@RTL\endR\fi\fi}% + \setlength\@tempdima{#1}% + \setlength\@tempdimb{#2}% + \Gscale@div\@tempa\@tempdima\@tempdimb + \setlength\@tempdima{#3}% + \setlength\@tempdimb{#4}% + \Gscale@div\@tempb\@tempdima\@tempdimb + \ifGin@iso + \ifdim\@tempa\p@>\@tempb\p@ + \let\@tempa\@tempb + \else + \let\@tempb\@tempa + \fi + \fi + \Gscale@box\@tempa[\@tempb]{\box\@tempboxa}% + \@end@tempboxa} +% \end{macrocode} +% \iffalse +%</graphicx-xetex-bidi.def> +%<*geometry-xetex-bidi.def> +%\fi +% \section{File \texttt{geometry-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{geometry-xetex-bidi.def}[2017/01/14 v0.2 bidi adaptations for geometry package for XeTeX engine] +\renewcommand*{\Gm@vrules@mpi}{% +\if@RTLmain% + \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep + \llap{\Gm@vrule}\ignorespaces + \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep + \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}% + \else% + \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces + \hskip \textwidth\Gm@vrule\hskip \marginparsep + \llap{\Gm@vrule}\hfil\Gm@vrule}\fi}% +\renewcommand*{\Gm@vrules@mpii}{% +\if@RTLmain% + \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces + \hskip \textwidth\Gm@vrule\hskip \marginparsep + \llap{\Gm@vrule}\hfil\Gm@vrule}% +\else% + \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep + \llap{\Gm@vrule}\ignorespaces + \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep + \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}\fi}% +\bidi@patchcmd{\Gm@pageframes}{% + \ifodd\count\z@ + \let\@themargin\oddsidemargin + \else + \let\@themargin\evensidemargin + \fi +}{% + \ifodd\count\z@ + \if@RTLmain + \let\@themargin\evensidemargin + \else + \let\@themargin\oddsidemargin + \fi + \else + \if@RTLmain + \let\@themargin\oddsidemargin + \else + \let\@themargin\evensidemargin + \fi + \fi +}{}{} +% \end{macrocode} +% \iffalse +%</geometry-xetex-bidi.def> +%<*hvfloat-xetex-bidi.def> +%\fi +% \section{File \texttt{hvfloat-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{hvfloat-xetex-bidi.def}[2012/04/18 v0.2 bidi adaptations for hvfloat package for XeTeX engine] +\def\do@@hvFloat[#1]#2#3{% + \def\hv@shortCap{#1} + \def\hv@longCap{#2} + \def\hv@label{#3} +%\newcommand*{\hvFloat}[5][]{% +% [#1}: keyvalues +% #2: type figure | table | ... +% #3: float contents +% [#4]: short caption +% #5: caption +% #6: label +% \setDefaults% +% \def\@tempa{#1}% +% \ifx\@tempa\empty\else\setkeys{hvSet}{#1}\fi% set options, only when not empty + \def\@tempa{90}% + \ifx\hvSet@rotAngle\@tempa \setlength{\hvMaxCapWidth}{\textheight} + \else \setlength{\hvMaxCapWidth}{\linewidth} + \fi +% +% First we save the object in \hvObjectBox +% + \ifx\hvSet@objectAngle\hv@Zero % rotate the object? + \savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi} + \else + \savebox{\hvObjectBox}{% + \rotatebox{\hvSet@objectAngle}{% + \ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}} + \fi + \setlength{\hvObjectWidth}{\wd\hvObjectBox} +% +% Now we save the caption with its defined \hvCapWidth +% + \ifx\hvSet@capWidth\hv@Width\setlength{\hvCapWidth}{\hvObjectWidth} + \else + \ifx\hvSet@capWidth\hv@Height\setlength{\hvCapWidth}{\ht\hvObjectBox} + \else + \setlength{\hvCapWidth}{\hvObjectWidth} + \ifx\hvSet@capPos\hv@Left\addtolength{\hvMaxCapWidth}{-\hvObjectWidth}\fi + \ifx\hvSet@capPos\hv@Right\addtolength{\hvMaxCapWidth}{-\hvObjectWidth}\fi + \ifdim\hvSet@capWidth\columnwidth<\hvMaxCapWidth + \setlength{\hvCapWidth}{\hvSet@capWidth\columnwidth} + \else + \setlength{\hvCapWidth}{\hvMaxCapWidth} + \fi + \fi + \fi +% +% now we have the object and the caption with the right +% rotated angles saved in boxes +% + \def\fps@figure{\hvSet@floatPos} + \ifhv@nonFloat\begingroup% Start the nonfloat part + \else \begin{\hv@floatType}% Start the floating environment + \fi% + \saveCaptionSkip% we put this space ourselve + \ifx\hvSet@capAngle\hv@Width % need rotation? + \sbox{\hvCaptionBox}{% + \begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation + \ifhv@nonFloat% + \ifhv@onlyText#2% + \else% + \ifx\hv@floatType\hv@figure + \ifx\relax#1\relax \figcaption{#2}\else\figcaption[#1]{#2}\fi + \else + \ifx\relax#1\relax \tabcaption{#2}\else\tabcaption[#1]{#2}\fi% + \fi + \fi + \else\ifx\relax\hv@shortCap\relax\caption{#2}\else\caption[#1]{#2}\fi% + \fi% + \label{#3}% + \end{minipage}% + }% + \else% + \sbox{\hvCaptionBox}{% + \rotatebox{\hvSet@capAngle}{% + \begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation + \ifhv@nonFloat% + \ifhv@onlyText#2% + \else% + \ifx\hv@floatType\hv@figure + \ifx\relax#1\relax \figcaption{#2}\else\figcaption[#1]{#2}\fi + \else + \ifx\relax#1\relax \tabcaption{#2}\else\tabcaption[#1]{#2}\fi% + \fi + \fi + \else\ifx\relax\hv@shortCap\relax\caption{#2}\else\caption[#1]{#2}\fi% + \fi% + \label{#3}% + \end{minipage}% + }% + }% + \fi% +%% + \restoreCaptionSkip% save old values + \ifx\hvSet@objectPos\hv@Right\bidi@raggedleft% + \else% + \ifx\hvSet@objectPos\hv@Center + \ifhv@nonFloat\hspace*{\fill}\else\centering\fi% + \fi% + \fi% +% +% to rotate object and caption together, we save all in another box +% the caption comes first, if its on the left or the top +% + \savebox{\@tempboxa}{% + \ifx\hvSet@capPos\hv@Left % caption on left side +\if@RTL% +\ifx\hvSet@capVPos\hv@Center% + \ifhv@fbox + \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} + \else + \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% + \else + \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} + \fi% + \else% + \ifx\hvSet@capVPos\hv@Top + \ifhv@fbox + \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% + \else + \raisebox{-\height}{\usebox{\hvObjectBox}}% + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% + \else + \raisebox{-\height}{\usebox{\hvCaptionBox}}% + \fi + \else + \ifhv@fbox + \fbox{\usebox{\hvObjectBox}}% + \else + \usebox{\hvObjectBox}% + \fi + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\usebox{\hvCaptionBox}}% + \else + \usebox{\hvCaptionBox}% + \fi% + \fi% +\fi% +\else% not RTL + \ifx\hvSet@capVPos\hv@Center% + \ifhv@fbox\fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% + \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}% + \fi% + \hspace{\hvSet@floatCapSep pt}% capfloatsep + \ifhv@fbox\fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} + \else \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} + \fi% + \else% + \ifx\hvSet@capVPos\hv@Top % caption at top + \ifhv@fbox\fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% + \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% + \fi + \hspace{\hvSet@floatCapSep pt}% capfloatsep + \ifhv@fbox\fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% + \else \raisebox{-\height}{\usebox{\hvObjectBox}}% + \fi% + \else% caption on bottom + \ifhv@fbox\fbox{\usebox{\hvCaptionBox}} + \else\usebox{\hvCaptionBox} + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox\fbox{\usebox{\hvObjectBox}} + \else \usebox{\hvObjectBox} + \fi% + \fi% +\fi% end of RTL + \fi% + \else + \ifx\hvSet@capPos\hv@Top + \ifdim\wd\hvCaptionBox>\wd\hvObjectBox + \begin{minipage}{\wd\hvCaptionBox} + \else + \begin{minipage}{\wd\hvObjectBox} + \fi + \centering + \ifhv@fbox + \fbox{\usebox{\hvCaptionBox}}\\[\hvBelowCaptionSkip] + \fbox{\usebox{\hvObjectBox}} + \else + \usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip] + \usebox{\hvObjectBox} + \fi% + \end{minipage} + \else + \ifx\hvSet@capPos\hv@Bottom + \ifdim\wd\hvCaptionBox>\wd\hvObjectBox + \begin{minipage}{\wd\hvCaptionBox} + \else + \begin{minipage}{\wd\hvObjectBox} + \fi + \centering + \ifhv@fbox + \fbox{\usebox{\hvObjectBox}}\\[\hvAboveCaptionSkip] + \fbox{\usebox{\hvCaptionBox}} + \else + \usebox{\hvObjectBox}\\[\hvAboveCaptionSkip] + \usebox{\hvCaptionBox} + \fi% + \end{minipage} + \else% the last option: put the caption on the right +\if@RTL% + \ifx\hvSet@capVPos\hv@Center% + \ifhv@fbox\fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% + \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}% + \fi% + \hspace{\hvSet@floatCapSep pt}% capfloatsep + \ifhv@fbox\fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} + \else \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} + \fi% + \else% + \ifx\hvSet@capVPos\hv@Top % caption at top + \ifhv@fbox\fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% + \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% + \fi + \hspace{\hvSet@floatCapSep pt}% capfloatsep + \ifhv@fbox\fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% + \else \raisebox{-\height}{\usebox{\hvObjectBox}}% + \fi% + \else% caption on bottom + \ifhv@fbox\fbox{\usebox{\hvCaptionBox}} + \else\usebox{\hvCaptionBox} + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox\fbox{\usebox{\hvObjectBox}} + \else \usebox{\hvObjectBox} + \fi% + \fi% + \fi% +\else% not RTL + \ifx\hvSet@capVPos\hv@Center% + \ifhv@fbox + \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} + \else + \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% + \else + \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} + \fi% + \else% + \ifx\hvSet@capVPos\hv@Top + \ifhv@fbox + \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% + \else + \raisebox{-\height}{\usebox{\hvObjectBox}}% + \fi% + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% + \else + \raisebox{-\height}{\usebox{\hvCaptionBox}}% + \fi + \else + \ifhv@fbox + \fbox{\usebox{\hvObjectBox}}% + \else + \usebox{\hvObjectBox}% + \fi + \hspace{\hvSet@floatCapSep pt}% + \ifhv@fbox + \fbox{\usebox{\hvCaptionBox}}% + \else + \usebox{\hvCaptionBox}% + \fi% + \fi% + \fi +\fi% end of RTL + \fi + \fi + \fi + }% End savebox Object and caption +% +% now we rotate the object and caption, if needed +% + \ifx\hvSet@rotAngle\hv@Zero + \usebox{\@tempboxa} + \else + \rotatebox{\hvSet@rotAngle}{\usebox{\@tempboxa}} + \fi + \ifhv@nonFloat + \ifx\hvSet@objectPos\hv@Center + \ifhv@nonFloat + \hspace{\fill} + \fi + \fi + \endgroup% End the nonfloat part + \else + \end{\hv@floatType}% End the floating environment + \fi +} +% \end{macrocode} +% \iffalse +%</hvfloat-xetex-bidi.def> +%<*hyperref-xetex-bidi.def> +%\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] +\AtBeginDocument{% +\def\contentsline#1#2#3#4{% + \ifx\\#4\\% + \csname l@#1\endcsname{#2}{#3}% + \else + \ifcase\Hy@linktoc % none + \csname l@#1\endcsname{#2}{#3}% + \or % section + \csname l@#1\endcsname{% + \hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend + }{#3}% + \or % page + \csname l@#1\endcsname{{#2}}{% + \hyper@linkstart{link}{#4}{#3}\hyper@linkend + }% + \else % all + \csname l@#1\endcsname{% + \hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend + }{% + \hyper@linkstart{link}{#4}{#3}\hyper@linkend + }% + \fi + \fi +} +\ifHy@hyperfootnotes + \let\H@@footnotetext\@footnotetext + \let\HRTL@@RTLfootnotetext\@RTLfootnotetext + \let\HLTR@@LTRfootnotetext\@LTRfootnotetext + \def\@xfootnotenext[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \ifx\@footnotetext\@mpfootnotetext + \expandafter\H@@mpfootnotetext + \else + \expandafter\H@@footnotetext + \fi + }% + \def\@xRTLfootnotenext[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \ifx\@RTLfootnotetext\@mpRTLfootnotetext + \expandafter\HRTL@@mpRTLfootnotetext + \else + \expandafter\HRTL@@RTLfootnotetext + \fi + }% + \def\@xLTRfootnotenext[#1]{% + \begingroup + \csname c@\@mpfn\endcsname #1\relax + \unrestored@protected@xdef\@thefnmark{\thempfn}% + \endgroup + \ifx\@LTRfootnotetext\@mpLTRfootnotetext + \expandafter\HLTR@@mpLTRfootnotetext + \else + \expandafter\HLTR@@LTRfootnotetext + \fi + }% + \def\@xfootnotemark[#1]{% + \begingroup + \c@footnote #1\relax + \unrestored@protected@xdef\@thefnmark{\thefootnote}% + \endgroup + \H@@footnotemark + }% + \let\H@@mpfootnotetext\@mpfootnotetext + \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext + \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext + \long\def\@mpfootnotetext#1{% + \H@@mpfootnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }#1% + \fi + }% + }% + \long\def\@mpRTLfootnotetext#1{% + \HRTL@@mpRTLfootnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }#1% + \fi + }% + }% + \long\def\@mpLTRfootnotetext#1{% + \HLTR@@mpLTRfootnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }#1% + \fi + }% + }% + \long\def\@footnotetext#1{% + \H@@footnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }% + \let\@currentHlabel\Hy@footnote@currentHlabel + \let\@currentHref\Hy@footnote@currentHref + \let\@currentlabelname\@empty + #1% + \fi + }% + }% + \long\def\@RTLfootnotetext#1{% + \HRTL@@RTLfootnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }% + \let\@currentHlabel\Hy@footnote@currentHlabel + \let\@currentHref\Hy@footnote@currentHref + \let\@currentlabelname\@empty + #1% + \fi + }% + }% + \long\def\@LTRfootnotetext#1{% + \HLTR@@LTRfootnotetext{% + \ifHy@nesting + \hyper@@anchor{\Hy@footnote@currentHref}{#1}% + \else + \Hy@raisedlink{% + \hyper@@anchor{\Hy@footnote@currentHref}{\relax}% + }% + \let\@currentHlabel\Hy@footnote@currentHlabel + \let\@currentHref\Hy@footnote@currentHref + \let\@currentlabelname\@empty + #1% + \fi + }% + }% + \@ifpackageloaded{tabularx}{% + \let\HyOrg@TX@endtabularx\TX@endtabularx + \def\Hy@tabularx@hook{% + \let\@footnotetext\H@@footnotetext + \let\@LTRfootnotetext\HLTR@@LTRfootnotetext + \let\@RTLfootnotetext\HRTL@@RTLfootnotetext + \let\@footnotemark\H@@footnotemark + \let\@mpfootnotetext\H@@mpfootnotetext + \let\@mpLTRfootnotetext\HLTR@@mpLTRfootnotetext + \let\@mpRTLfootnotetext\HRTL@@mpRTLfootnotetext + }% + \begingroup + \toks@\expandafter{\TX@endtabularx}% + \xdef\Hy@gtemp{% + \noexpand\Hy@tabularx@hook + \the\toks@ + }% + \endgroup + \let\TX@endtabularx\Hy@gtemp + }{}% + \@ifpackageloaded{longtable}{% + \CheckCommand*{\LT@p@LTRftntext}[1]{% + \edef\@tempa{% + \the\LT@p@ftn + \noexpand\LTRfootnotetext[\the\c@footnote]% + }% + \global\LT@p@ftn\expandafter{\@tempa{#1}}% + }% + \long\def\LT@p@LTRftntext#1{% + \edef\@tempa{% + \the\LT@p@ftn + \begingroup + \noexpand\c@footnote=\the\c@footnote\relax + \noexpand\protected@xdef\noexpand\@thefnmark{% + \noexpand\thempfn + }% + \noexpand\Hy@LT@LTRfootnotetext{% + \Hy@footnote@currentHref + }% + }% + \global\LT@p@ftn\expandafter{% + \@tempa{#1}% + \endgroup + }% + }% + \long\def\Hy@LT@LTRfootnotetext#1#2{% + \HLTR@@LTRfootnotetext{% + \ifHy@nesting + \hyper@@anchor{#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor{#1}{\relax}% + }% + \def\@currentHref{#1}% + \let\@currentlabelname\@empty + #2% + \fi + }% + }% + \CheckCommand*{\LT@p@RTLftntext}[1]{% + \edef\@tempa{% + \the\LT@p@ftn + \noexpand\RTLfootnotetext[\the\c@footnote]% + }% + \global\LT@p@ftn\expandafter{\@tempa{#1}}% + }% + \long\def\LT@p@RTLftntext#1{% + \edef\@tempa{% + \the\LT@p@ftn + \begingroup + \noexpand\c@footnote=\the\c@footnote\relax + \noexpand\protected@xdef\noexpand\@thefnmark{% + \noexpand\thempfn + }% + \noexpand\Hy@LT@RTLfootnotetext{% + \Hy@footnote@currentHref + }% + }% + \global\LT@p@ftn\expandafter{% + \@tempa{#1}% + \endgroup + }% + }% + \long\def\Hy@LT@RTLfootnotetext#1#2{% + \HRTL@@RTLfootnotetext{% + \ifHy@nesting + \hyper@@anchor{#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor{#1}{\relax}% + }% + \def\@currentHref{#1}% + \let\@currentlabelname\@empty + #2% + \fi + }% + }% + }{}% + \@ifpackageloaded{bidipoem}{% + \long\def\bidipoem@p@ftntext#1{% + \edef\@tempx{% + \the\bidipoem@p@ftn + \begingroup + \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax + \noexpand\protected@xdef\noexpand\@thefnmark{% + \noexpand\thempfn + }% + \noexpand\Hy@bidipoem@footnotetext{% + \Hy@footnote@currentHref + }% + }% + \global\bidipoem@p@ftn\expandafter{% + \@tempx{#1}% + \endgroup + }% + }% + \long\def\Hy@bidipoem@footnotetext#1#2{% + \H@@footnotetext{% + \ifHy@nesting + \hyper@@anchor{#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor{#1}{\relax}% + }% + \def\@currentHref{#1}% + \let\@currentlabelname\@empty + #2% + \fi + }% + }% + \long\def\bidipoem@p@LTRftntext#1{% + \edef\@tempxi{% + \the\bidipoem@p@ftn + \begingroup + \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax + \noexpand\protected@xdef\noexpand\@thefnmark{% + \noexpand\thempfn + }% + \noexpand\Hy@bidipoem@LTRfootnotetext{% + \Hy@footnote@currentHref + }% + }% + \global\bidipoem@p@ftn\expandafter{% + \@tempxi{#1}% + \endgroup + }% + }% + \long\def\Hy@bidipoem@LTRfootnotetext#1#2{% + \HLTR@@LTRfootnotetext{% + \ifHy@nesting + \hyper@@anchor{#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor{#1}{\relax}% + }% + \def\@currentHref{#1}% + \let\@currentlabelname\@empty + #2% + \fi + }% + }% + \long\def\bidipoem@p@RTLftntext#1{% + \edef\@tempxii{% + \the\bidipoem@p@ftn + \begingroup + \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax + \noexpand\protected@xdef\noexpand\@thefnmark{% + \noexpand\thempfn + }% + \noexpand\Hy@bidipoem@RTLfootnotetext{% + \Hy@footnote@currentHref + }% + }% + \global\bidipoem@p@ftn\expandafter{% + \@tempxii{#1}% + \endgroup + }% + }% + \long\def\Hy@bidipoem@RTLfootnotetext#1#2{% + \HRTL@@RTLfootnotetext{% + \ifHy@nesting + \hyper@@anchor{#1}{#2}% + \else + \Hy@raisedlink{% + \hyper@@anchor{#1}{\relax}% + }% + \def\@currentHref{#1}% + \let\@currentlabelname\@empty + #2% + \fi + }% + }% + }{}% + \let\HyOrg@maketitle\maketitle + \def\maketitle{% + \let\Hy@saved@footnotemark\@footnotemark + \let\Hy@saved@footnotetext\@footnotetext + \let\HyRTL@saved@RTLfootnotetext\@RTLfootnotetext + \let\HyLTR@saved@LTRfootnotetext\@LTRfootnotetext + \let\@footnotemark\H@@footnotemark + \let\@footnotetext\H@@footnotetext + \let\@RTLfootnotetext\HRTL@@RTLfootnotetext + \let\@LTRfootnotetext\HLTR@@LTRfootnotetext + \@ifnextchar[\Hy@maketitle@optarg{% ] + \HyOrg@maketitle + \Hy@maketitle@end + }% + }% + \def\Hy@maketitle@optarg[#1]{% + \HyOrg@maketitle[{#1}]% + \Hy@maketitle@end + }% + \def\Hy@maketitle@end{% + \ifx\@footnotemark\H@@footnotemark + \let\@footnotemark\Hy@saved@footnotemark + \fi + \ifx\@footnotetext\H@@footnotetext + \let\@footnotetext\Hy@saved@footnotetext + \fi + \ifx\@RTLfootnotetext\HRTL@@RTLfootnotetext + \let\@RTLfootnotetext\HyRTL@saved@RTLfootnotetext + \fi + \ifx\@LTRfootnotetext\HLTR@@LTRfootnotetext + \let\@LTRfootnotetext\HyLTR@saved@LTRfootnotetext + \fi + }% + \def\realfootnote{% + \@ifnextchar[\@xfootnote{% + \stepcounter{\@mpfn}% + \protected@xdef\@thefnmark{\thempfn}% + \H@@footnotemark\H@@footnotetext + }% + }% +\fi +\def\Hy@BeginAnnot#1{% + \ifmmode\else\beginL\fi% + \global\advance\c@Hy@AnnotLevel\@ne + \ifnum\c@Hy@AnnotLevel=\@ne + #1% + \fi +} +\def\Hy@EndAnnot{% + \ifnum\c@Hy@AnnotLevel=\@ne + \Hy@endcolorlink + \@pdfm@mark{eann}% + \fi + \global\advance\c@Hy@AnnotLevel\m@ne + \ifmmode\else\endL\fi% +} +\def\hyper@link#1#2#3{% + \hyper@linkstart{#1}{#2}\ifmmode\else\if@RTL\beginR\fi\fi#3\ifmmode\else\if@RTL\endR\fi\fi\Hy@xspace@end\hyper@linkend +} +\def\hyper@linkfile#1#2#3{% + \leavevmode + \Hy@BeginAnnot{% + \def\Hy@pstringF{#2}% + \Hy@CleanupFile\Hy@pstringF + \Hy@pstringdef\Hy@pstringF\Hy@pstringF + \Hy@pstringdef\Hy@pstringD{#3}% + \Hy@MakeRemoteAction + \@pdfm@mark{% + bann<<% + /Type/Annot% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + \Hy@setpdfborder + \ifx\@filebordercolor\relax + \else + /C[\@filebordercolor]% + \fi + /A<<% + /S/GoToR% + /F(\Hy@pstringF)% + /D% + \ifx\\#3\\% + [\Hy@href@page\@pdfremotestartview]% + \else + (\Hy@pstringD)% + \fi + \Hy@SetNewWindow + \Hy@href@nextactionraw + >>% + >>% + }% + \Hy@colorlink\@filecolor + }% + \ifmmode\else\if@RTL\beginR\fi\fi#1\ifmmode\else\if@RTL\endR\fi\fi\Hy@xspace@end + \Hy@EndAnnot +} +\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname + \leavevmode + \Hy@BeginAnnot{% + \Hy@pstringdef\Hy@pstringF{#1}% + \Hy@pstringdef\Hy@pstringP{#3}% + \@pdfm@mark{% + bann<<% + /Type/Annot% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + \Hy@setpdfborder + \ifx\@runbordercolor\relax + \else + /C[\@runbordercolor]% + \fi + /A<<% + /F(\Hy@pstringF)% + /S/Launch% + \Hy@SetNewWindow + \ifx\\#3\\% + \else + /Win<</P(\Hy@pstringP)/F(\Hy@pstringF)>>% + \fi + \Hy@href@nextactionraw + >>% + >>% + }% + \Hy@colorlink\@runcolor + }% + \ifmmode\else\if@RTL\beginR\fi\fi#2\ifmmode\else\if@RTL\endR\fi\fi\Hy@xspace@end + \Hy@EndAnnot +} +\def\hyper@linkurl#1#2{% + \leavevmode + \Hy@BeginAnnot{% + \Hy@pstringdef\Hy@pstringURI{#2}% + \@pdfm@mark{% + bann<<% + /Type/Annot% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + \Hy@setpdfborder + \ifx\@urlbordercolor\relax + \else + /C[\@urlbordercolor]% + \fi + /A<<% + /S/URI% + /URI(\Hy@pstringURI)% + \ifHy@href@ismap + /IsMap true% + \fi + \Hy@href@nextactionraw + >>% + >>% + }% + \Hy@colorlink\@urlcolor + }% + \ifmmode\else\if@RTL\beginR\fi\fi#1\ifmmode\else\if@RTL\endR\fi\fi\Hy@xspace@end + \Hy@EndAnnot +} +\def\Acrobatmenu#1#2{% + \Hy@Acrobatmenu{#1}{#2}{% + \Hy@BeginAnnot{% + \EdefEscapeName\Hy@temp@menu{#1}% + \@pdfm@mark{% + bann<<% + /Type/Annot% + /Subtype/Link% + \ifHy@pdfa /F 4\fi + \Hy@setpdfborder + \ifx\@menubordercolor\relax + \else + /C[\@menubordercolor]% + \fi + /A<<% + /S/Named% + /N/\Hy@temp@menu + \Hy@href@nextactionraw + >>% + >>% + }% + \Hy@colorlink\@menucolor + }% + \ifmmode\else\if@RTL\beginR\fi\fi#2\ifmmode\else\if@RTL\endR\fi\fi\Hy@xspace@end + \Hy@EndAnnot + }% +} +\def\hyper@natlinkstart#1{% + \Hy@backout{#1}% + \hyper@linkstart{cite}{cite.#1}\if@RTL\beginR\fi% + \def\hyper@nat@current{#1}% +} +\def\hyper@natlinkend{% + \if@RTL\endR\fi\hyper@linkend +} +\def\hyper@natlinkbreak#1#2{% + \if@RTL\endR\fi\hyper@linkend#1\hyper@linkstart{cite}{cite.#2}\if@RTL\beginR\fi% +}% +} +\pdfstringdefDisableCommands{% +\let\LRE\@firstofone +\let\LR\@firstofone +\let\RLE\@firstofone +\let\RL\@firstofone +\def\XeTeX{Xe\TeX}% +\def\XeLaTeX{Xe\LaTeX}% +} +\@ifpackageloaded{longtable}{% + \begingroup + \def\y{\LT@array}% + \@ifundefined{scr@LT@array}{% + \@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}% + }{\def\y{\scr@LT@array}}% + \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{% + \expandafter\endgroup + \expandafter\def\y[##1]##2{% + \H@refstepcounter{#1}% + \hyper@makecurrent{table}% + \let\Hy@LT@currentHref\@currentHref + #2\@sharp#####4% + }% + }% + \expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil + \begingroup + \def\x#1\ifvoid\LT@foot#2\fi#3\@nil{% + \endgroup + \def\LT@start{% + #1% + \ifvoid\LT@foot#2\fi + \let\@currentHref\Hy@LT@currentHref + \Hy@raisedlink{% + \hyper@anchorstart{\@currentHref}\hyper@anchorend + }% + #3% + }% + }% + \expandafter\x\LT@start\@nil +}{} +\bidi@patchcmd\@TextField{% + \@pdfm@mark +}{% + \if@RTL + \hskip\Fld@width + \fi + \@pdfm@mark +}{}{} +\bidi@patchcmd\@TextField{% + \unhbox +}{% + \if@RTL + \hskip-\Fld@width + \fi + \unhbox +}{}{} +\bidi@patchcmd\@@Radio{% + \@pdfm@mark +}{% + \if@RTL + \hskip\Fld@width + \fi + \@pdfm@mark +}{}{} +\bidi@patchcmd\@@Radio{% + \unhcopy +}{% + \if@RTL + \hskip-\Fld@width + \fi + \unhcopy +}{}{} +\bidi@patchcmd\@Submit{% + \@pdfm@mark +}{% + \if@RTL + \null + \hskip\wd\pdfm@box + \fi + \@pdfm@mark +}{}{} +\bidi@patchcmd\@Submit{% + \unhbox +}{% + \if@RTL + \hskip-\wd\pdfm@box + \fi + \unhbox +}{}{} +\bidi@patchcmd\@Reset{% + \@pdfm@mark +}{% + \if@RTL + \null + \hskip\wd\pdfm@box + \fi + \@pdfm@mark +}{}{} +\bidi@patchcmd\@Reset{% + \unhbox +}{% + \if@RTL + \hskip-\wd\pdfm@box + \fi + \unhbox +}{}{} +% \end{macrocode} +% \iffalse +%</hyperref-xetex-bidi.def> +%<*imsproc-xetex-bidi.def> +%\fi +% \section{File \texttt{imsproc-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{imsproc-xetex-bidi.def}[2017/06/09 v0.1 bidi adaptations for imsproc class for XeTeX engine] +\newenvironment{thebibliography}[1]{% + \@bibtitlestyle + \normalfont\bibliofont\labelsep .5em\relax + \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook + \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{enumiv}}% + \sloppy \clubpenalty\@M \widowpenalty\clubpenalty + \sfcode`\.=\@m +}{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist +} + +\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi + \columnseprule\z@ \columnsep 35\p@ + \@indextitlestyle + \thispagestyle{plain}% + \let\item\@idxitem + \parindent\z@ \parskip\z@\@plus.3\p@\relax + \if@RTL\raggedleft\else\raggedright\fi + \hyphenpenalty\@M + \footnotesize} +\def\@idxitem{\par\hangindent \if@RTL-\fi2em} +\def\subitem{\par\hangindent \if@RTL-\fi2em\hspace*{1em}} +\def\subsubitem{\par\hangindent \if@RTL-\fi3em\hspace*{2em}} + +\def\right@footnoterule{% + \kern-.4\p@ + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-5pc\relax \hrulefill } + \kern11\p@\kern-\footnotesep} +\def\left@footnoterule{\kern-.4\p@ + \hrule\@width 5pc\kern11\p@\kern-\footnotesep} +\def\@makefnmark{% + \leavevmode + \raise.9ex\hbox{\fontsize\sf@size\z@\normalfont\@thefnmark}% +} + +\def\part{\@startsection{part}{0}% + \z@{\linespacing\@plus\linespacing}{.5\linespacing}% + {\normalfont\bfseries\if@RTL\raggedleft\else\raggedright\fi}} +\def\@tocline#1#2#3#4#5#6#7{\relax + \ifnum #1>\c@tocdepth % then omit + \else + \par \addpenalty\@secpenalty\addvspace{#2}% + \begingroup \hyphenpenalty\@M + \@ifempty{#4}{% + \@tempdima\csname r@tocindent\number#1\endcsname\relax + }{% + \@tempdima#4\relax + }% + \parindent\z@ \if@RTL\rightskip\else\leftskip\fi#3\relax \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima\relax + \if@RTL\leftskip\else\rightskip\fi\@pnumwidth plus4em \parfillskip-\@pnumwidth + #5\leavevmode\hskip-\@tempdima #6\nobreak\relax + \hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par + \nobreak + \endgroup + \fi} +\renewcommand\thesubsection {\thesection\@SepMark\arabic{subsection}} +\renewcommand\thesubsubsection {\thesubsection \@SepMark\arabic{subsubsection}} +\renewcommand\theparagraph {\thesubsubsection\@SepMark\arabic{paragraph}} +\renewcommand\thesubparagraph {\theparagraph\@SepMark\arabic{subparagraph}} +\def\maketitle{\par + \@topnum\z@ % this prevents figures from falling at the top of page 1 + \@setcopyright + \thispagestyle{firstpage}% this sets first page specifications + \uppercasenonmath\shorttitle + \ifx\@empty\shortauthors \let\shortauthors\shorttitle + \else \andify\shortauthors + \fi + \@maketitle@hook + \begingroup + \@maketitle + \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}% + \toks4{\def\\{ \ignorespaces}}% defend against questionable usage + \edef\@tempa{% + \@nx\markboth{\the\toks4 + \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}% + \@tempa + \endgroup + \c@footnote\z@ + \@cleartopmattertags +} +% \end{macrocode} +% \iffalse +%</imsproc-xetex-bidi.def> +%<*leqno-xetex-bidi.def> +%\fi +% \section{File \texttt{leqno-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{leqno-xetex-bidi.def}[2018/01/07 v0.2 bidi adaptations for leqno tag for XeTeX engine] +\renewcommand\@eqnnum{\hb@xt@.01\p@{}% + \rlap{\hskip -\displaywidth + {\normalfont\normalcolor\if@RTL\beginR\fi(\theequation)\if@RTL\endR\fi}}} +% \end{macrocode} +% \iffalse +%</leqno-xetex-bidi.def> +%<*letter-xetex-bidi.def> +%\fi +% \section{File \texttt{letter-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{letter-xetex-bidi.def}[2015/11/14 v0.3 bidi adaptations for standard letter class for XeTeX engine] +\renewcommand*{\opening}[1]{\ifx\@empty\fromaddress + \thispagestyle{firstpage}% + {\if@RTL\raggedright\else\raggedleft\fi\@date\par}% + \else % home address + \thispagestyle{empty}% + {\if@RTL\raggedright\else\raggedleft\fi\if@RTL\begin{tabular}{r@{}}\else\begin{tabular}{l@{}}\fi\ignorespaces + \fromaddress \\*[2\parskip]% + \@date \end{tabular}\par}% + \fi + \vspace{2\parskip}% + {\if@RTL\raggedleft\else\raggedright\fi \toname \\ \toaddress \par}% + \vspace{2\parskip}% + #1\par\nobreak} +\renewcommand\left@footnoterule{% + \kern-\p@ + \hrule \@width .4\columnwidth + \kern .6\p@} +\renewcommand\right@footnoterule{% + \kern-\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern .6\p@} +% \end{macrocode} +% \iffalse +%</letter-xetex-bidi.def> +%<*lettrine-xetex-bidi.def> +%\fi +% \section{File \texttt{lettrine-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{lettrine-xetex-bidi.def}[2019/05/01 v0.7 bidi adaptations for lettrine package for XeTeX engine] +\def\@lettrine[#1]#2#3{% + \def\l@initial{#2}\let\l@refstring\l@initial + \setcounter{L@lines}{\value{DefaultLines}}% + \setcounter{L@depth}{\value{DefaultDepth}}% + \renewcommand*{\L@hang}{\DefaultLhang}% + \renewcommand*{\L@oversize}{\DefaultLoversize}% + \renewcommand*{\L@raise}{\DefaultLraise}% + \renewcommand*{\L@ante}{}% + \setlength{\L@Findent}{\DefaultFindent}% + \setlength{\L@Nindent}{\DefaultNindent}% + \setlength{\L@slope}{\DefaultSlope}% + \setlength{\L@novskip}{\DiscardVskip}% + \ifLettrineImage\L@imagetrue\else\L@imagefalse\fi + \ifLettrineOnGrid\L@gridtrue\else\L@gridfalse\fi + \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi + \ifLettrineSelfRef\L@selfreftrue\else\L@selfreffalse\fi + \setkeys{L}{#1}% + \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}% + \ifL@realh + \def\@tempa{#3}% + \ifx\@tempa\@empty + \PackageWarning{lettrine.sty}% + {Empty second argument,\MessageBreak + ignoring option `realheight';}% + \else + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \fi + \fi + \if\DefaultOptionsFile\relax + \else + \begingroup + \InputIfFileExists{\DefaultOptionsFile}% + {}% + {\PackageWarning{lettrine.sty}% + {File \DefaultOptionsFile\space not found}% + }% + \def\color##1##{\l@color{##1}}% + \let\l@color\@gobbletwo + \def\textcolor##1##{\l@textcolor{##1}}% + \def\l@textcolor##1##2##3{##3}% + \expandafter\ifx\csname l@#2-keys\endcsname\relax + \gdef\l@LOKeys{}% + \else + \xdef\l@LOKeys{\csname l@#2-keys\endcsname}% + \fi + \endgroup + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \setupL@lbox + \setlength{\LettrineWidth}{\wd\L@lbox}% + \def\KV@prefix{KV@L@}% + \let\@tempc\relax + \expandafter\KV@do\l@LOKeys,\relax, + \setkeys{L}{#1}% + \fi + \setupL@lbox + \setlength{\LettrineWidth}{\wd\L@lbox}% + \setlength{\LettrineHeight}{\ht\L@lbox}% + \setlength{\LettrineDepth}{\dp\L@lbox}% + \begingroup + \def\IeC##1{##1}% + \@tempdima=\L@oversize pt\relax + \PackageInfo{lettrine.sty}% + {Targeted height = \the\L@target@tht\MessageBreak + (no accent, loversize=0),\MessageBreak + Lettrine height = \the\LettrineHeight\space (#2)% + \ifdim\@tempdima=\z@\else\space loversize=\L@oversize\fi;% + \MessageBreak reported}% + \endgroup + \sbox{\L@tbox}{\LettrineTextFont{#3}}% + \setlength{\L@first}{\LettrineHeight}% + \setlength{\L@lraise}{\L@raise\L@target@tht}% + \addtolength{\L@first}{\L@lraise}% + \ifnum\value{L@lines}=1 + \addtolength{\L@first}{-\ht\L@tbox}% + \else + \addtolength{\L@first}{-\L@target@tht}% + \addtolength{\L@lraise}{-\L@target@dp}% + \fi + \par + \ifdim\L@first>\L@novskip + \ifL@grid + \@tempdima=\baselineskip + \@tempdimb=\@tempdima + \advance\@tempdimb by \L@novskip + \@tempcnta=1 + \loop\ifdim\L@first>\@tempdimb + \advance\@tempcnta by 1 + \advance\L@first by -\@tempdima + \repeat + \L@first=\@tempcnta\baselineskip + \fi + \vskip\L@first + \fi + \setlength{\L@Pindent}{\wd\L@lbox}% + \addtolength{\L@Pindent}{-\L@hang\wd\L@lbox}% + \settowidth{\L@first}{\L@ante}% + \addtolength{\L@Pindent}{\L@first}% + \addtolength{\L@Pindent}{\L@Findent}% + \setlength{\L@first}{\linewidth}% + \addtolength{\L@first}{-\L@Pindent}% + \addtolength{\L@Nindent}{\L@Pindent}% + \setlength{\L@next}{\linewidth}% + \addtolength{\L@next}{-\L@Nindent}% + \addtolength{\L@Pindent}{\@totalleftmargin}% + \addtolength{\L@Nindent}{\@totalleftmargin}% + \addtocounter{L@lines}{1}% + \addtocounter{L@lines}{\value{L@depth}}% + \if@RTL + \def\L@parshape{\c@L@lines \z@ \the\L@first}% + \else + \def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}% + \fi + \@tempcnta=\tw@ + \@whilenum \@tempcnta<\c@L@lines\do{% + \if@RTL + \edef\L@parshape{\L@parshape \z@ \the\L@next}% + \else + \edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}% + \fi + \addtolength{\L@Nindent}{\L@slope}% + \addtolength{\L@next}{-\L@slope}% + \advance\@tempcnta\@ne}% + \if@RTL + \edef\L@parshape{\L@parshape \z@ \the\linewidth}% + \else + \edef\L@parshape{\L@parshape \@totalleftmargin \the\linewidth}% + \fi + \noindent + \parshape=\L@parshape\relax + \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}% + \hskip \the\L@Findent}}% + \usebox{\L@tbox}% + \ifnum\@listdepth>0 \Lreset@listparshape \fi +} +% \end{macrocode} +% \iffalse +%</lettrine-xetex-bidi.def> +%<*lineno-xetex-bidi.def> +%\fi +% \section{File \texttt{lineno-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{lineno-xetex-bidi.def}[2018/01/28 v0.2 bidi adaptations for lineno package for XeTeX engine] +\bidi@patchcmd{\MakeLineNo}{% + \hb@xt@\z@{\makeLineNumber}% +}{% + \hboxL to \z@{\makeLineNumber}% +}{}{} + +\bidi@patchcmd{\makeLineNumberLeft}{\LineNumber}{% + \if@RTL + \hb@xt@\linenumberwidth{\LineNumber\hss}% + \else + \LineNumber + \fi +}{}{} + +\bidi@patchcmd{\makeLineNumberRight}{% + \hb@xt@\linenumberwidth{\hss\LineNumber}% +}{% + \if@RTL + \LineNumber + \else + \hb@xt@\linenumberwidth{\hss\LineNumber}% + \fi +}{}{} + +\bidi@AfterPreamble{% + \if@RTLmain + \rightlinenumbers* + \else + \leftlinenumbers* + \fi + \@ifpackagewith{lineno}{left}{% + \leftlinenumbers* + }{} + \@ifpackagewith{lineno}{right}{% + \rightlinenumbers* + }{} +} + +% \end{macrocode} +% \iffalse +%</lineno-xetex-bidi.def> +%<*listings-xetex-bidi.def> +%\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] +\lst@Key{captiondirection}{textdirection}{% + \lstKV@SwitchCases{#1}% + {textdirection:\\% + RTL:\chardef\bidi@lst@caption@direction\@ne\\% + LTR:\chardef\bidi@lst@caption@direction\z@% + }{\PackageError{Listings}{direction #1 unknown}\@ehc}} + +\lst@Key{captionscript}{textscript}{% + \lstKV@SwitchCases{#1}% + {textscript:\\% + latin:\chardef\bidi@lst@caption@script\@ne\\% + nonlatin:\chardef\bidi@lst@caption@script\z@% + }{\PackageError{Listings}{direction #1 unknown}\@ehc}} + +\newcommand*{\bidi@lst@ensure@caption@direction}[2]{% + \@ifundefined{bidi@lst@caption@direction}{}{% + \ifnum\bidi@lst@caption@direction=\z@% + #1% + \else% + \ifnum\bidi@lst@caption@direction=\@ne% + #2% + \fi% + \fi% +}} + +\newcommand*{\bidi@lst@ensure@caption@script}[2]{% + \@ifundefined{bidi@lst@caption@script}{}{% + \ifnum\bidi@lst@caption@script=\z@% + #1% + \else% + \ifnum\bidi@lst@caption@script=\@ne% + #2% + \fi% + \fi% +}} + +\long\def\@bidi@lst@makecaption#1#2{% + \bidi@lst@ensure@caption@script{\@nonlatintrue}{\@nonlatinfalse}% + \vskip\abovecaptionskip + \bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLtrue}% + \sbox\@tempboxa{% + \bidi@lst@ensure@caption@direction{\beginL}{\beginR}% + #1: #2% + \bidi@lst@ensure@caption@direction{\endL}{\endR}% + }% + \ifdim \wd\@tempboxa >\hsize + #1: #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip}% +\def\lst@makecaption{\@bidi@lst@makecaption} +\def\lst@maketitle{\@bidi@lst@makecaption\lst@title@dropdelim} +\bidi@AtEndPreamble{% +\bidi@patchcmd{\lst@MakeCaption}{% + \ifx #1t% + \ifx\lst@@caption\@empty\expandafter\lst@HRefStepCounter \else + \expandafter\refstepcounter + \fi {lstlisting}% +}{% + \ifx #1t% + \bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLtrue}% + \ifx\lst@@caption\@empty\expandafter\lst@HRefStepCounter \else + \expandafter\refstepcounter + \fi {lstlisting}% + \bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLfalse}% +}{}{}% +\bidi@patchcmd{\lst@MakeCaption}{% + \addcontentsline{lol}{lstlisting}% + {\protect\numberline{\thelstlisting}\lst@@caption}% +}{% +\begingroup% + \bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLtrue}% + \addcontentsline{lol}{lstlisting}% + {\protect\numberline{\thelstlisting}\lst@@caption}% +\endgroup% +}{}{}% +} +\@ifpackageloaded{caption}{% + \AtBeginCaption{% + \bidi@lst@ensure@caption@script{\@nonlatintrue}{\@nonlatinfalse}% + \bidi@lst@ensure@caption@direction{\@RTLfalse}{\@RTLtrue}% +} + \let\@bidi@lst@makecaption\caption@makecaption% + \def\lst@makecaption{\caption@starfalse\@bidi@lst@makecaption}% + \def\lst@maketitle{\caption@startrue\@bidi@lst@makecaption\@empty}% +}{% +\AtBeginDocument{% +\@ifundefined{captionlabelfalse}{}{% + \def\lst@maketitle{\captionlabelfalse\@bidi@lst@makecaption\@empty}}% +\@ifundefined{caption@startrue}{}{% + \def\lst@maketitle{\caption@startrue\@bidi@lst@makecaption\@empty}}% +}% +} +\AtBeginDocument{ + \@ifundefined{thechapter}{\let\lst@ifnumberbychapter\iffalse}{} + \lst@ifnumberbychapter + \gdef\thelstlisting% + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@lstlisting} + \else + \gdef\thelstlisting{\@arabic\c@lstlisting} + \fi} +% \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}[2017/12/29 v0.97 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}[2019/01/19 v0.5 bidi adaptations for longtable package for XeTeX engine] +\def\LT@array[#1]#2{% + \refstepcounter{table}\stepcounter{LT@tables}% + \if l#1% + \if@RTLtab\LTleft\fill \LTright\z@\else\LTleft\z@ \LTright\fill\fi + \else\if r#1% + \if@RTLtab\LTleft\z@ \LTright\fill\else\LTleft\fill \LTright\z@\fi + \else\if c#1% + \LTleft\fill \LTright\fill + \fi\fi\fi + \let\LT@mcol\multicolumn + \let\LT@@tabarray\@tabarray + \let\LT@@hl\hline + \def\@tabarray{% + \let\hline\LT@@hl + \LT@@tabarray}% + \let\\\LT@tabularcr\let\tabularnewline\\% + \def\newpage{\noalign{\break}}% + \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% + \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% + \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption + \@tempdima\ht\strutbox + \let\@endpbox\LT@endpbox + \ifx\extrarowheight\@undefined + \let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \def\@startpbox{\vtop\LT@startpbox}% + \let\@@startpbox\@startpbox + \let\@@endpbox\@endpbox + \let\LT@LL@FM@cr\@tabularcr + \else + \advance\@tempdima\extrarowheight + \col@sep\tabcolsep + \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr + \fi + \setbox\@arstrutbox\hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \let\@sharp##\let\protect\relax + \begingroup + \@mkpream{#2}% + \xdef\LT@bchunk{% + \global\advance\c@LT@chunks\@ne + \global\LT@rows\z@\setbox\z@\vbox\bgroup + \LT@setprevdepth + \tabskip\LTleft \noexpand\halign to\hsize\bgroup + \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}% + \endgroup + \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols + \LT@make@row + \m@th\let\par\@empty + \everycr{}\lineskip\z@\baselineskip\z@ + \LT@bchunk} +\def\LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \sbox\@tempboxa{\if@RTL\beginR\fi#1{#2: }#3\if@RTL\endR\fi}% + \ifdim\wd\@tempboxa>\hsize + #1{#2: }#3% + \else + \hbox to\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\@ifpackageloaded{caption}{% + \renewcommand\LT@makecaption[3]{% + \caption@LT@make{% + \caption@settype*\LTcaptype + \ifdim\LTcapwidth=4in \else + \setcaptionwidth\LTcapwidth + \fi + \caption@setoptions{longtable}% + \caption@setoptions{@longtable}% + \caption@LT@setup + \caption@setautoposition{\ifcase\LT@rows t\else b\fi}% + \caption@startrue#1\caption@starfalse + \caption@prepare@stepcounter\LTcaptype{LT}% + \caption@begin\LTcaptype + \caption@normalsize + \vskip-\ht\strutbox + \caption@iftop{\vskip\belowcaptionskip}{\vskip\abovecaptionskip}% + \caption@@make{#2}{#3}\endgraf + \caption@iftop{\vskip\abovecaptionskip}{\vskip\belowcaptionskip}% + \caption@end}}% +}{} +\def\LT@startpbox#1{% + \bgroup\color@begingroup + \let\@footnotetext\LT@p@ftntext + \let\@LTRfootnotetext\LT@p@LTRftntext + \let\@RTLfootnotetext\LT@p@RTLftntext + \setlength\hsize{#1}% + \@arrayparboxrestore + \vrule \@height \ht\@arstrutbox \@width \z@} +\def\LT@p@LTRftntext#1{% + \edef\@tempa{\the\LT@p@ftn\noexpand\LTRfootnotetext[\the\c@footnote]}% + \global\LT@p@ftn\expandafter{\@tempa{#1}}}% +\def\LT@p@RTLftntext#1{% + \edef\@tempa{\the\LT@p@ftn\noexpand\RTLfootnotetext[\the\c@footnote]}% + \global\LT@p@ftn\expandafter{\@tempa{#1}}}% + + +\def\LT@output{% + \ifnum\outputpenalty <-\@Mi + \ifnum\outputpenalty > -\LT@end@pen + \LT@err{floats and marginpars not allowed in a longtable}\@ehc + \else + \setbox\z@\vbox{\unvbox\@cclv}% + \ifdim \ht\LT@lastfoot>\ht\LT@foot + \dimen@\pagegoal + \advance\dimen@-\ht\LT@lastfoot + \ifdim\dimen@<\ht\z@ + \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% + \@makecol + \@outputpage + \setbox\z@\vbox{\box\LT@head}% + \fi + \fi + \global\@colroom\@colht + \global\vsize\@colht + \vbox + {\if@RTLtab\hbox\bgroup\beginR\vbox\bgroup\fi\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi\if@RTLtab\egroup\endR\egroup\fi}% + \fi + \else + \setbox\@cclv\vbox{\if@RTLtab\hbox\bgroup\beginR\vbox\bgroup\fi\unvbox\@cclv\copy\LT@foot\vss\if@RTLtab\egroup\endR\egroup\fi}% + \@makecol + \@outputpage + \global\vsize\@colroom + \copy\LT@head\nobreak + \fi} +% \end{macrocode} +% \iffalse +%</longtable-xetex-bidi.def> +%<*mathtools-xetex-bidi.def> +%\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] +\MHInternalSyntaxOn +\def\MT_define_tagform:nwnn #1[#2]#3#4{ + \@namedef{MT_tagform_#1:n}##1 + {\maketag@@@{\if@nonlatin\beginR\fi#3\kern\z@\ignorespaces#2{##1}\unskip\@@italiccorr#4\if@nonlatin\endR\fi}} +} +\renewtagform{default}{(}{)} +\MHInternalSyntaxOff +% \end{macrocode} +% \iffalse +%</mathtools-xetex-bidi.def> +%<*mdframed-xetex-bidi.def> +%\fi +% \section{File \texttt{mdframed-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{mdframed-xetex-bidi.def}[2013/09/22 v0.4 bidi adaptations for mdframed package for XeTeX engine] +\newif\if@bidi@mdf@RTL +\def\mdf@lrbox#1{% + \mdf@patchamsthm%patch amsthm + \if@RTL\@bidi@mdf@RTLtrue\fi% + \@RTLfalse% + \setbox#1\vbox\bgroup% + \color@begingroup% + \if@bidi@mdf@RTL\@RTLtrue\fi% + \mdf@horizontalmargin@equation% + \columnwidth=\hsize% + \textwidth=\hsize% + \let\if@nobreak\iffalse% + \let\if@noskipsec\iffalse% + \let\par\@@par% + \let\-\@dischyph% + \let\'\@acci\let\`\@accii\let\=\@acciii% + \parindent\z@ \parskip\z@skip% + \linewidth\hsize% + \@totalleftmargin\z@% + \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip% + \parfillskip\@flushglue \lineskip\normallineskip% + \baselineskip\normalbaselineskip% +%% \sloppy% + \let\\\@normalcr% + \mdf@par@local%New feature to restore parskip/parindent local in save box + \ifbool{mdf@suppressfirstparskip}{\vspace*{-\parskip}}{}% + \@afterindentfalse% + %\@afterheading% +} +\renewrobustcmd\mdfframedtitleenv[1]{% + \mdf@lrbox{\mdf@frametitlebox}% + \mdf@frametitlealignment% + \leavevmode{\color{\mdf@frametitlefontcolor}% + \normalfont\mdf@frametitlefont{#1} + \ifbool{mdf@ignorelastdescenders}% + {% + \par\strut\par + \unskip\unskip\setbox0=\lastbox + \vspace*{\dimexpr\ht\strutbox-\baselineskip\relax}% + }{}}% + \par\unskip\ifvmode\nointerlineskip\hrule \@height\z@ \@width\hsize\fi%% + \endmdf@lrbox\relax% + \mdf@ignorevbadness% + \setbox\mdf@frametitlebox=\vbox{\unvbox\mdf@frametitlebox}% + \mdfframetitleboxwidth=\wd\mdf@frametitlebox\relax% + \mdfframetitleboxheight=\ht\mdf@frametitlebox\relax% + \mdfframetitleboxdepth=\dp\mdf@frametitlebox\relax% + \mdfframetitleboxtotalheight=\dimexpr + \ht\mdf@frametitlebox + +\dp\mdf@frametitlebox% + +\mdf@frametitleaboveskip@length + +\mdf@frametitlebelowskip@length + \relax% +} + +\renewrobustcmd*\mdf@footnoteoutput{% + \ifvoid\@mpfootins\else% + \nobreak% + \vskip\mdf@footenotedistance@length% + \normalcolor% + \bidi@mpfootnoterule% + \unvbox\@mpfootins% + \fi% +} + + +\renewrobustcmd*\mdf@footnoteinput{% + \def\@mpfn{mpfootnote}% + \def\thempfn{\thempfootnote}% + \c@mpfootnote\z@% + \let\@footnotetext\@mpfootnotetext% + \let\@LTRfootnotetext\@mpLTRfootnotetext% + \let\@RTLfootnotetext\@mpRTLfootnotetext% +} +% \end{macrocode} +% \iffalse +%</mdframed-xetex-bidi.def> +%<*bidi-media9.sty> +%\fi +% \section{File \texttt{bidi-media9.sty}} +% \begin{macrocode} +\ProvidesExplPackage{bidi-media9}{2017/08/27}{0.3} +{bidi fixes for media9 package for the XeTeX engine} + +\keys_define:nn{media9/mbtn}{ + draft .code:n = {}, + final .code:n = {}, + + tooltip .tl_gset_x:N = \g_mix_tooltip_tl, + tooltip .value_required:n = {true}, + + overface .code:n = { + \sbox\l_mix_poster_box{ + \bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{#1}}{\if@RTL\beginR\fi#1\if@RTL\endR\fi}} + \mix_pdfxform:n{\l_mix_poster_box} + \tl_gset:Nx\g_mix_overbtn_tl{\mix_pdflastxform:} + }, + overface .value_required:n = {true}, + + downface .code:n = { + \sbox\l_mix_poster_box{ + \bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{#1}}{\if@RTL\beginR\fi#1\if@RTL\endR\fi}} + \mix_pdfxform:n{\l_mix_poster_box} + \tl_gset:Nx\g_mix_downbtn_tl{\mix_pdflastxform:} + }, + downface .value_required:n = {true}, + + 3Dgotoview .code:n = { + \tl_set:Nx\l_tmpa_tl{#1} %extract ref + \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl + \tl_trim_spaces:N\l_tmpa_tl + \tl_if_exist:cTF{ann@\l_tmpa_tl}{ + \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \tl_set:Nx\l_tmpb_tl{#1} %extract idx + \regex_replace_once:nnN{[^:]+:?}{}\l_tmpb_tl + \tl_trim_spaces:N\l_tmpb_tl + \tl_if_blank:VF\l_tmpb_tl{ + \regex_match:nVTF{^[DFLNP]$}\l_tmpb_tl{ + \tl_set:Nx\l_mix_vidx_tl{/\l_tmpb_tl} + }{ + \regex_match:nVTF{^\d+$}\l_tmpb_tl{ + \tl_set:Nx\l_mix_vidx_tl{~\l_tmpb_tl} + }{ + \regex_replace_once:nnN{^\(\s*}{}\l_tmpb_tl + \regex_replace_once:nnN{\s*\)$}{}\l_tmpb_tl + \tl_set:Nx\l_mix_vidx_tl{~(\l_tmpb_tl)} + } + } + } + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + if(typeof(annotRM)=='undefined'){annotRM=new~Array();} + if(typeof(annotRM['\l_tmpa_tl'])=='undefined'){ + annotRM['\l_tmpa_tl']= + this.getAnnotRichMedia(\tl_use:c{page@\l_tmpa_tl},'\l_tmpa_tl'); + } + annotRM['\l_tmpa_tl'].activated=true; + ) + \tl_if_blank:VF\l_tmpb_tl{ + /Next~<< + /S/GoTo3DView + /TA~\tl_use:c{ann@\l_tmpa_tl} + /V\l_mix_vidx_tl + >> + } + } + \tl_gput_right:Nx\g_mix_btnactions_tl{~\mix_pdflastobj:} + } + }{ + \msg_warning:nnx{media9}{undefined~reference}{\l_tmpa_tl} + \cs_if_exist:NF\g_mix_refundefwarned_tl{ + \tl_new:N\g_mix_refundefwarned_tl + \AtEndDocument{\msg_warning:nn{media9}{undefined~references}} + } + } + }, + 3Dgotoview .value_required:n = {true}, + + mediacommand .code:n = { + \tl_set:Nx\l_tmpa_tl{#1} + \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl %extract ref + \tl_trim_spaces:N\l_tmpa_tl + \tl_if_exist:cTF{ann@\l_tmpa_tl}{ + \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \tl_set:Nx\l_tmpb_tl{#1} + \regex_replace_once:nnN{[^:]+\:?}{}\l_tmpb_tl + \tl_trim_spaces:N\l_tmpb_tl + \regex_replace_all:nnN{^\{|\}$}{}\l_tmpb_tl + \tl_set:Nx\l_mix_cmd_tl{ + \exp_after:wN\mix_separate_cmd_from_actn:w\l_tmpb_tl[]\q_stop} + \tl_trim_spaces:N\l_mix_cmd_tl + \tl_set:Nx\l_mix_arg_tl{ + \exp_after:wN\mix_separate_arg_from_actn:w\l_tmpb_tl[]\q_stop} + \tl_trim_spaces:N\l_mix_arg_tl + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + if(typeof(annotRM)=='undefined'){annotRM=new~Array();} + if(typeof(annotRM['\l_tmpa_tl'])=='undefined'){ + annotRM['\l_tmpa_tl']= + this.getAnnotRichMedia(\tl_use:c{page@\l_tmpa_tl},'\l_tmpa_tl'); + } + annotRM['\l_tmpa_tl'].activated=true; + ) + \tl_if_blank:VF\l_mix_cmd_tl{ + /Next~<< + /S/RichMediaExecute + /TA~\tl_use:c{ann@\l_tmpa_tl} + /TI~\tl_use:c{main@\l_tmpa_tl} + /CMD~<< + /C~(\l_mix_cmd_tl) + \tl_if_blank:VF\l_mix_arg_tl{ + /A~[\l_mix_arg_tl] + } + >> + >> + } + } + \tl_gput_right:Nx\g_mix_btnactions_tl{~\mix_pdflastobj:} + } + }{ + \msg_warning:nnx{media9}{undefined~reference}{\l_tmpa_tl} + \cs_if_exist:NF\g_mix_refundefwarned_tl{ + \tl_new:N\g_mix_refundefwarned_tl + \AtEndDocument{\msg_warning:nn{media9}{undefined~references}} + } + } + }, + mediacommand .value_required:n = {true}, + + jsaction .code:n = { + \tl_set:Nx\l_tmpa_tl{#1} + \regex_match:nVTF{^[^\{:]+:.*$}\l_tmpa_tl{ + \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl %extract ref + \tl_trim_spaces:N\l_tmpa_tl + }{\tl_clear:N\l_tmpa_tl} + \tl_set:Nx\l_tmpb_tl{#1} + \tl_if_blank:VF\l_tmpa_tl{ + \tl_if_exist:cF{ann@\l_tmpa_tl}{ + \msg_warning:nnx{media9}{undefined~reference}{\l_tmpa_tl} + \cs_if_exist:NF\g_mix_refundefwarned_tl{ + \tl_new:N\g_mix_refundefwarned_tl + \AtEndDocument{\msg_warning:nn{media9}{undefined~references}} + } + } + \regex_replace_once:nnN{[^:]+\:}{}\l_tmpb_tl + } + \tl_set:Nx\l_tmpb_tl{\exp_after:wN\use:n\l_tmpb_tl} + \tl_trim_spaces:N\l_tmpb_tl + \tl_if_blank:VF\l_tmpb_tl{ + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + try{\l_tmpb_tl}catch(e){console.show();console.println(e)})}} + \bool_lazy_and:nnT{ + \tl_if_exist_p:c{ann@\l_tmpa_tl} + }{ + !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + }{ + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + if(typeof(annotRM)=='undefined'){annotRM=new~Array();} + if(typeof(annotRM['\l_tmpa_tl'])=='undefined'){ + annotRM['\l_tmpa_tl']= + this.getAnnotRichMedia(\tl_use:c{page@\l_tmpa_tl},'\l_tmpa_tl'); + } + annotRM['\l_tmpa_tl'].activated=true; + ) + \tl_if_blank:VF\l_tmpb_tl{/Next~\mix_pdflastobj:} + } + } + \bool_if:nT{ + \bool_lazy_and_p:nn{ + \tl_if_exist_p:c{ann@\l_tmpa_tl} + }{ + !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + } + || !\tl_if_blank_p:V\l_tmpb_tl + }{ + \tl_gput_right:Nx\g_mix_btnactions_tl{~\mix_pdflastobj:} + } + }, + jsaction .value_required:n = {true}, + + unknown .code:n = { + \msg_error:nnx{media9}{unknown~option}{\l_keys_key_tl} + } +} + +\RenewDocumentCommand\includemedia{O{}mm}{%#1 options, #2 text/image #3 media file + \mix_uriend: + \group_begin: + \mix_beginLTR: + \leavevmode + %empty stream as appearance dummy + \cs_if_exist:NF\g_mix_appearance_tl{ + \hbox_set:Nn\l_mix_poster_box{\phantom{\rule{1pt}{1pt}}} + \mix_pdfxform:n{\l_mix_poster_box} + \tl_gset:Nx\g_mix_appearance_tl{\mix_pdflastxform:} + } + \mix_reset: + \mix_uribegin: %treat URI characters correctly + \keys_set:nn{media9/user}{#1} + \mix_uriend: + \tl_greplace_all:Nnn\g_mix_flashvars_tl{~&}{&} + \tl_greplace_all:Nnn\g_mix_flashvars_tl{&~}{&} + \tl_greplace_all:Nnn\g_mix_flashvars_tl{~=}{=} + \tl_greplace_all:Nnn\g_mix_flashvars_tl{=~}{=} + \tl_gtrim_spaces:N\g_mix_flashvars_tl + + \cs_if_exist:NT\Ginput@path{\cs_set_eq:NN\input@path\Ginput@path} + + %\hbox_set:Nn\l_mix_poster_box{\group_begin:#2\group_end:} + %\hbox_set:Nn\l_mix_poster_box{#2} + \sbox\l_mix_poster_box{\if@RTL\beginR\fi#2\if@RTL\endR\fi} + \mix_scale:n{\l_mix_poster_box} + \bool_if:nT{ + \dim_compare_p:n{\g_mix_tt_tl=\c_zero_dim}|| + \dim_compare_p:n{\g_mix_wd_tl=\c_zero_dim} + }{ + \tl_gset:Nn\g_mix_usrpbtn_tl{none} + } + \bool_if:NTF\g_mix_usrdraft_bool{ + \tl_if_empty:NF\g_mix_usrlabel_tl{ + \mix_keytoaux_now:nn{ann@\g_mix_usrlabel_tl}{draft} + } + \tl_if_blank:oTF{#2}{ + \mix_uribegin: %treat URI characters correctly + \mix_draftbox:n{\tl_to_str:n{#3}} + \mix_uriend: + }{ + \hbox_to_wd:nn{\g_mix_wd_tl}{ + \vrule~width~\c_zero_dim~height~\g_mix_ht_tl~depth~\g_mix_dp_tl + \box_use:N\l_mix_poster_box\hss + } + } + }{ + \bool_if:nF{\str_if_eq_p:Vn\g_mix_usrpbtn_tl{none}}{ + %attach script that switches off play button overlay upon activation + \mix_pdfobj:nnn{}{stream}{ + {}{ + var~ocgs=host.getOCGs(host.pageNum); + for(var~i=0;i<ocgs.length;i++){ + if(ocgs[i].name=='MediaPlayButton\int_use:N\g_mix_rmcnt_int'){ + ocgs[i].state=false; + } + } + } + } + \mix_pdfobj:nnn{}{dict}{ + /Type/Filespec/EF~<</F~\mix_pdflastobj:>>/F~(btnoff)%/UF~(btnoff) + } + \tl_gset:Nx\g_mix_assets_tl{(btnoff)~\mix_pdflastobj:} + \tl_set:Nx\l_mix_scripts_tl{~\mix_pdflastobj:~} + %enforce plain playbutton overlay for XeTeX + \sys_if_engine_xetex:T{\tl_gset:Nn\g_mix_usrpbtn_tl{plain}} + } + %embed main asset + \mix_uribegin: + \mix_embedasset:n{#3} + \bool_if:nTF{ + \str_if_eq_p:Vn\l_mix_ext_tl{prc}||\str_if_eq_p:Vn\l_mix_ext_tl{u3d} + }{ + \bool_gset_true:N\g_mix_iiid_bool + \tl_gset:Nn\g_mix_mainassetsub_tl{3D} + }{ + \str_case_x:nnF{\l_mix_base_tl}{ + {APlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} + {AudioPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} + {VPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Video}} + {VideoPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Video}} + {StrobeMediaPlayback}{\tl_gset:Nn\g_mix_mainassetsub_tl{Video}} + }{\tl_gset:Nn\g_mix_mainassetsub_tl{Flash}} + } + \tl_gset:Nx\g_mix_mainasset_tl{~\g_mix_lastasset_tl} + \mix_uriend: + %secondary assets (added by addresource) + \seq_map_function:NN\g_mix_res_seq\mix_embedasset:n + \seq_map_inline:Nn\g_mix_script_seq{ + \mix_embedasset:n{##1} + \tl_put_right:Nx\l_mix_scripts_tl{~\g_mix_lastasset_tl} + } + %attach 3D calculation script + \bool_if:nT{\g_mix_iiid_bool && \g_mix_iiidcalc_bool}{ + \mix_embedasset:n{3Dmenu.js} + \tl_put_left:Nx\l_mix_scripts_tl{\g_mix_lastasset_tl~} + } + %create 3D views from file (option 3Dviews) + \bool_if:nT{\g_mix_iiid_bool && !(\tl_if_blank_p:V\g_mix_vfile_tl)}{ + \tl_set:Nn\l_mix_level_tl{\c_minus_one} + \int_zero:N\l_mix_viewcnt_int + \int_zero:N\l_mix_lineno_int + + \ior_open:Nn\l_mix_vfile_stream{\g_mix_vfile_tl} + \ior_map_inline:Nn\l_mix_vfile_stream{ + \int_incr:N\l_mix_lineno_int + \keys_set:nn{media9/views}{##1} %process input line + } + \ior_close:N\l_mix_vfile_stream + } + \bool_if:nT{ %create default 3D view if required + \g_mix_iiid_bool && + (\g_mix_opt_iiidview_bool || \tl_if_blank_p:V\l_mix_iiidviewarray_tl) + }{ + \tl_set_eq:NN\l_mix_bg_tl\g_mix_opt_bg_tl + \tl_set_eq:NN\l_mix_ls_tl\g_mix_opt_ls_tl + \tl_set_eq:NN\l_mix_rm_tl\g_mix_opt_rm_tl + \tl_set_eq:NN\l_mix_psob_tl\g_mix_opt_psob_tl + \tl_set_eq:NN\l_mix_coo_tl\g_mix_opt_coo_tl + \tl_set_eq:NN\l_mix_ctoc_tl\g_mix_opt_ctoc_tl + \tl_set_eq:NN\l_mix_ciiw_tl\g_mix_opt_ciiw_tl + + \fp_set_eq:NN\l_mix_roo_fp\g_mix_opt_roo_fp + \fp_set_eq:NN\l_mix_aac_fp\g_mix_opt_aac_fp + \fp_set_eq:NN\l_mix_oscale_fp\g_mix_opt_oscale_fp + \fp_set_eq:NN\l_mix_roll_fp\g_mix_opt_roll_fp + + \bool_set_eq:NN\l_mix_ciiw_bool\g_mix_opt_ciiw_bool + \bool_set_eq:NN\l_mix_iiidortho_bool\g_mix_opt_iiidortho_bool + \tl_clear:N\l_mix_naarray_tl + + \bool_if:NF\l_mix_ciiw_bool{ + \tl_set:Nx\l_mix_args_tl{\l_mix_coo_tl\space\l_mix_ctoc_tl\space} + \exp_after:wN\mix_calc_ciiw:w\l_mix_args_tl\q_stop + } + + \tl_clear:N\l_mix_naarray_tl + \tl_clear:N\l_mix_saarray_tl + \tl_set_eq:NN\l_mix_nr_tl\g_mix_nrdflt_tl + + \mix_view:n{Default} + \tl_set:Nx\l_mix_dfltview_tl{\mix_pdflastobj:} + + } + \mix_pdfobj:nnn{}{dict}{ + /Type/RichMediaInstance + /Subtype/\g_mix_mainassetsub_tl + /Asset~\g_mix_mainasset_tl + \bool_if:NF\g_mix_iiid_bool{ + /Params~<< + /Binding\str_if_eq:VnTF\g_mix_transp_tl{true}{ + /Foreground + }{ + /Background + } + \tl_if_blank:VF\g_mix_flashvars_tl{ + /FlashVars~(\g_mix_flashvars_tl) + } + >> + } + } + \tl_if_empty:NF\g_mix_usrlabel_tl{ + \mix_keytoaux_now:nn{main@\g_mix_usrlabel_tl}{\mix_pdflastobj:} + } + \mix_pdfobj:nnn{}{dict}{ + /Type/RichMediaConfiguration + /Subtype/\g_mix_mainassetsub_tl + /Instances~[\mix_pdflastobj:] + } + \mix_pdfobj:nnn{}{dict}{ + /Type/RichMediaContent + /Assets~<</Names~[\g_mix_assets_tl]>> + /Configurations~[\mix_pdflastobj:] + \bool_if:nT{ + \g_mix_iiid_bool && !(\tl_if_empty_p:V\l_mix_iiidviewarray_tl) + }{ + /Views~[\l_mix_iiidviewarray_tl] + } + } + \tl_set:Nx\l_mix_content_tl{\mix_pdflastobj:} + \bool_if:nT{ + \g_mix_iiid_bool && \str_if_eq_p:Vn\g_mix_playtpe_tl{Oscillating} + }{ + \tl_gset:Nx\g_mix_playcnt_tl{\int_eval:n{\g_mix_playcnt_tl*2}} + } + %determine floating window size + \bool_if:NT\g_mix_opt_windowed_bool{ + \exp_after:wN\mix_parse_winsizearg:w\g_mix_winsize_tl\q_stop + } + \mix_pdfobj:nnn{}{dict}{ + /Activation~<< + /Condition\g_mix_act_tl + \bool_if:nT{ + \g_mix_iiid_bool && + !(\str_if_eq_p:Vn\g_mix_playtpe_tl{None}) + }{%seems to work only with 3D content + /Animation~<< + /Subtype/\g_mix_playtpe_tl + /PlayCount~\g_mix_playcnt_tl + /Speed~\g_mix_playspd_tl + >> + } + \bool_if:nT{ + \g_mix_iiid_bool && ( + \g_mix_opt_iiidview_bool || \tl_if_blank_p:V\l_mix_iiidviewarray_tl + ) + }{/View~\l_mix_dfltview_tl} + /Presentation~<< + /Transparent~\g_mix_transp_tl + \bool_if:NTF\g_mix_opt_windowed_bool{ + /Style/Windowed + /Window~<< + /Width~<</Default~\tl_mix_fltwd>> + /Height~<</Default~\tl_mix_fltht>> + /Position~<< + /HOffset~0/VOffset~0 + \str_case_x:nnF{\g_mix_winpos_tl}{ + {tl}{/VAlign/Near/HAlign/Near} + {cl}{/VAlign/Center/HAlign/Near} + {bl}{/VAlign/Far/HAlign/Near} + {bc}{/VAlign/Far/HAlign/Center} + {br}{/VAlign/Far/HAlign/Far} + {cr}{/VAlign/Center/HAlign/Far} + {tr}{/VAlign/Near/HAlign/Far} + {tc}{/VAlign/Near/HAlign/Center} + }{/HAlign/Center/VAlign/Center} + >> + >> + }{ + /Style/Embedded + } + \bool_if:NTF\g_mix_iiid_bool{ + /Toolbar~\g_mix_tools_tl + /NavigationPane~\g_mix_nav_tl + }{ + /PassContextClick~\g_mix_contextclick_tl + } + >> + \tl_if_blank:VF\l_mix_scripts_tl{/Scripts~[\l_mix_scripts_tl]} + >> + /Deactivation~<</Condition\g_mix_deact_tl>> + } + \tl_set:Nx\l_mix_settings_tl{\mix_pdflastobj:} + \tl_if_empty:NF\g_mix_usrlabel_tl{ + \tl_gset_eq:NN\g_mix_label_tl\g_mix_usrlabel_tl + } + % #1:width, #2:height, #3:depth, #4:content (key-value) + \mix_pdfannot:nnnn{\g_mix_wd_tl}{\g_mix_ht_tl}{\g_mix_dp_tl}{ + /Subtype/RichMedia + /F~4 + /BS~<</W~0/S/S>> + /Contents~(media~embedded~by~media9~[\g_mix_version_tl~(\g_mix_date_tl)]) + /NM~(\g_mix_label_tl) + /AP~<</N~\g_mix_appearance_tl>> + /RichMediaSettings~\l_mix_settings_tl + /RichMediaContent~\l_mix_content_tl + } + \tl_if_empty:NF\g_mix_usrlabel_tl{ + \mix_keytoaux_now:nn{ann@\g_mix_usrlabel_tl}{\mix_pdflastann:} + \mix_keytoaux_shipout:nn{page@\g_mix_usrlabel_tl}{ + \noexpand\the\g@mix@page@int} + } + \mix_pdfobj:nnn{}{dict}{ + /S/JavaScript/JS~( + try{ + if(typeof(annotRM)=='undefined'){annotRM=new~Array();} + if(typeof(annotRM['\g_mix_label_tl'])=='undefined'){ + annotRM['\g_mix_label_tl']= + this.getAnnotRichMedia(this.pageNum,'\g_mix_label_tl'); + } + \str_if_eq_x:nnF{\g_mix_usrpbtn_tl}{none}{ + if(typeof(ocgBtn\int_use:N\g_mix_rmcnt_int)=='undefined'){ + var~ocgs=this.getOCGs(this.pageNum); + for(var~i=0;i<ocgs.length;i++){ + if(ocgs[i].name=='MediaPlayButton\int_use:N\g_mix_rmcnt_int'){ + var~ocgBtn\int_use:N\g_mix_rmcnt_int=ocgs[i]; + } + } + } + if( + !annotRM['\g_mix_label_tl'].activated&&( + app.viewerType=='Reader'|| + app.viewerType=='Exchange'|| + app.viewerType=='Exchange-Pro' + )&&app.viewerVersion>=9 + ){ + ocgBtn\int_use:N\g_mix_rmcnt_int.state=true; + } + } + }catch(e){} + this.dirty=false; + ) + } + \mix_pdfannot:nnnn{0pt}{0pt}{0pt}{ + /Subtype/Widget + /FT/Btn/Ff~65537/F~2 + /BS~<</W~0>> + /T~(fd@\g_mix_label_tl) + /AA~<</PO~\mix_pdflastobj:~/PV~\mix_pdflastobj:>> + } + \mix_appendtofields:n{\mix_pdflastann:} + \hbox_overlap_right:n{\box_use:N\l_mix_poster_box} + \str_if_eq_x:nnTF{\g_mix_usrpbtn_tl}{none}{ + \hbox_to_wd:nn{\g_mix_wd_tl}{ + \vrule~width~\c_zero_dim~height~\g_mix_ht_tl~depth~\g_mix_dp_tl\hss + } + }{%insert play button overlay + \mix_insert_btnocg: %create OCG + \cs_gset_eq:Nc\mix_pbtn:NN{g@mix@pbtn@\g_mix_usrpbtn_tl @tl} + \group_begin: + \cs_if_exist:NT\textdir{\textdir TLT} + \sbox\l_mix_pbtn_box{\mix_pbtn:NN\g_mix_wd_tl\g_mix_tt_tl} + \box_move_down:nn{\g_mix_dp_tl}{ + \hbox_to_wd:nn{\g_mix_wd_tl}{ + \vbox_to_ht:nn{\g_mix_tt_tl}{ + \vss + \ocgbase_oc_bdc:n{\g_mix_btnocg_tl} + \box_use:N\l_mix_pbtn_box + \ocgbase_oc_emc: + } + } + } + \group_end: + } + \int_gincr:N\g_mix_rmcnt_int + } + \mix_endLTR: + \group_end: +} +\tl_set_eq:NN\l_mix_includemedia_tl\includemedia +\tl_set:Nn\includemedia{\mix_uribegin:\l_mix_includemedia_tl} + +\RenewDocumentCommand\mediabutton{O{}m}{%#1 options, #2 normal button text + \mix_uriend: + \group_begin: + \mix_beginLTR: + \leavevmode + %reset various variables + \tl_gclear:N\g_mix_overbtn_tl + \tl_gclear:N\g_mix_downbtn_tl + \tl_gclear:N\g_mix_btnactions_tl + \tl_gclear:N\g_mix_tooltip_tl + %process options + \bool_gset_eq:NN\g_mix_btndraft_bool\g_mix_pkgdraft_bool + \mix_uribegin: %treat URI characters correctly + \keys_set:nn{media9/mbtndraft}{#1} %detect draft/final on first pass + \bool_if:NF\g_mix_btndraft_bool{\keys_set:nn{media9/mbtn}{#1}} + \mix_uriend: + %normal button appearance + %\hbox_set:Nn\l_mix_poster_box{#2} + \sbox\l_mix_poster_box{\if@RTL\beginR\fi#2\if@RTL\endR\fi} + \tl_set:Nx\width {\dim_use:N\box_wd:N\l_mix_poster_box} + \tl_set:Nx\height{\dim_use:N\box_ht:N\l_mix_poster_box} + \tl_set:Nx\depth {\dim_use:N\box_dp:N\l_mix_poster_box} + \bool_if:NTF\g_mix_btndraft_bool{\box_use:N\l_mix_poster_box}{ + \sbox\l_mix_poster_box{\bool_if:NTF\g_pbs_lscape_bool{\rotatebox{90}{ + \box_use:N\l_mix_poster_box}}{\box_use:N\l_mix_poster_box}} + \mix_pdfxform:n{\l_mix_poster_box} + \tl_set:Nx\g_mix_normalbtn_tl{\mix_pdflastxform:} + %insert widget annotation + \mix_pdfannot:nnnn{\width}{\height}{\depth}{ + /Subtype/Widget + /T~(mbtn@\int_use:N\g_mix_mbtncnt_int) + \tl_if_empty:NF\g_mix_tooltip_tl{/TU~(\g_mix_tooltip_tl)} + /FT/Btn/Ff~65536 + \tl_if_empty:NTF\g_mix_downbtn_tl{/H/I}{/H/P} + /AP~<< + /N~\g_mix_normalbtn_tl + \tl_if_empty:NF\g_mix_overbtn_tl{/R~\g_mix_overbtn_tl} + \tl_if_empty:NF\g_mix_downbtn_tl{/D~\g_mix_downbtn_tl} + >> + /MK~<< + /TP~1~/IF~<</S/A/FB~true/A~[0.0~0.0]>> + /I~\g_mix_normalbtn_tl + \tl_if_empty:NF\g_mix_overbtn_tl{/RI~\g_mix_overbtn_tl} + \tl_if_empty:NF\g_mix_downbtn_tl{/IX~\g_mix_downbtn_tl} + >> + /A~<< + /S/JavaScript/JS~(app.focusRect=false;) + %sequence of actions to perform + \tl_if_empty:NF\g_mix_btnactions_tl{/Next~[\g_mix_btnactions_tl]} + >> + } + \mix_appendtofields:n{\mix_pdflastann:} + \hbox_to_wd:nn{\width}{ + \vrule~width~\c_zero_dim~height~\height~depth~\depth\hss + } + \int_gincr:N\g_mix_mbtncnt_int + } + \mix_endLTR: + \group_end: +} +\tl_set_eq:NN\l_mix_mediabutton_tl\mediabutton +\tl_set:Nn\mediabutton{\mix_uribegin:\l_mix_mediabutton_tl} + + +% \end{macrocode} +% \iffalse +%</bidi-media9.sty> +%<*memoir-xetex-bidi.def> +%\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] +\renewcommand{\keepthetitle}{% + \@bsmtitlempty + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\and\relax + \global\let\andnext\relax + \global\let\@thanks\@empty + \global\let\@title\@empty + \global\let\@author\@empty + \global\let\@date\@empty} +\renewcommand{\maketitle}{\par + \begingroup + \@bsmarkseries + \def\@makefnmark{\@textsuperscript{% + \normalfont\@bsthanksheadpre \tamark \@bsthanksheadpost}}% + \long\def\@makefntext##1{\makethanksmark ##1} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \ifdim\pagetotal>\z@ + \newpage + \fi + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{title}\@thanks + \endgroup + \@bscontmark % \setcounter{footnote}{0}% + } +\renewcommand*{\memRTLleftskip}{\if@RTL\rightskip\else\leftskip\fi} +\renewcommand*{\memRTLrightskip}{\if@RTL\leftskip\else\rightskip\fi} +\renewcommand*{\memRTLvleftskip}{\if@RTL\vrightskip\else\vleftskip\fi} +\renewcommand*{\memRTLvrightskip}{\if@RTL\vleftskip\else\vrightskip\fi} +\renewcommand*{\memRTLraggedright}{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*{\memRTLraggedleft}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand*{\thesection}{\thechapter\@SepMark\@arabic\c@section} +\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{\setthesection}{\thechapter\@SepMark\Alph{section}} +\renewcommand{\theequation}{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand{\thefigure}{\thechapter\@SepMark\@arabic\c@figure} +\renewcommand{\thetable}{\thechapter\@SepMark\@arabic\c@table} +\ifartopt + \chapterstyle{article} + \counterwithout{figure}{chapter} + \counterwithout{table}{chapter} + \counterwithout{footnote}{chapter} + \counterwithout{equation}{chapter} + \renewcommand{\chaptername}{} + \renewcommand{\maketitlehookb}{% + \vskip -1.5\topsep\vskip -1.5\partopsep} + \renewcommand{\maketitlehookc}{% + \vskip -1.5\topsep\vskip -1.5\partopsep} +\fi +\long\def\@makecaption#1#2{\let\@memtempa\relax + \ifdim\prevdepth>-99\p@ \vskip\abovecaptionskip + \else \def\@memtempa{\vbox to\topskip{}}\fi + \let\@contfnote\footnote \renewcommand{\footnote}[2][]{} + \let\@contfmark\footnotemark \renewcommand{\footnotemark}[1][]{} + \sbox\@tempboxa{\@contnfont #1\@contdelim \@conttfont #2\@contfinal} + \let\footnote\@contfnote + \let\footnotemark\@contfmark + \ifdim\wd\@tempboxa<\linewidth \centering \fi + \if@contcw + \centering + \parbox{\@contcwidth}{% + \ifdim\wd\@tempboxa<\@contcwidth \centering \fi + \fi + \ifdim\wd\@tempboxa<\linewidth + \@contpre + {\@contnfont #1\@contdelim}\@memtempa + {\@contcshortstyle \@conttfont #2\@contfinal\par} + \else + \if@conthang + \sbox\@tempboxa{\@contnfont #1\@contdelim} + \@contpre% + {\@contcstyle\hangindent=\wd\@tempboxa + \noindent\box\@tempboxa\@memtempa \@conttfont #2\@contfinal\par} + \else + \if@contindent + \@contpre% + {\@contnfont #1\@contdelim}\@memtempa + {\@contcstyle\hangindent=\@contindw + \hangafter=\@ne\@conttfont #2\@contfinal\par}% <- v1.4 + \else + \@contpre% + {\@contnfont #1\@contdelim}\@memtempa + {\@contcstyle \@conttfont #2\@contfinal\par} + \fi + \fi + \fi + \@contpost + \if@contcw + \par + } % end of the \parbox + \fi + \vskip\belowcaptionskip} +\@ifpackageloaded{caption}{% +\AtBeginPackage{caption}{ +\ClassWarningNoLine{memoir}{% + You are using the caption package with the memoir \MessageBreak + class. This may cause unexpected or inconsistent \MessageBreak + results if you use any of memoir's captioning facilities} + +\long\def\@makecaption##1##2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{\if@RTL\beginR\fi##1: ##2\if@RTL\endR\fi}% + \ifdim \wd\@tempboxa >\hsize + \if@RTL\beginR\fi##1: ##2\if@RTL\endR\fi\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi + \vskip\belowcaptionskip} + +\def\caption{% + \ifx\@captype\@undefined + \@latex@error{\noexpand\caption outside float}\@ehd + \expandafter\@gobble + \else + \refstepcounter\@captype + \expandafter\@firstofone + \fi + {\@dblarg{\@caption\@captype}}% +} + +\long\def\@caption##1[##2]##3{% + \par + \addcontentsline{\csname ext@##1\endcsname}{##1}% + {\protect\numberline{\csname the##1\endcsname}{\ignorespaces ##2}}% + \begingroup + \@parboxrestore + \if@minipage + \@setminipage + \fi + \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 + \bidi@@thebibliography@font@hook% + \begin{bibitemlist}{#1}}{\end{bibitemlist}\postbibhook} +% \end{macrocode} +% \iffalse +%</memoir-xetex-bidi.def> +%<*midfloat-xetex-bidi.def> +%\fi +% \section{File \texttt{midfloat-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{midfloat-xetex-bidi.def}[2017/05/06 v0.4 bidi adaptations for midfloat package for XeTeX engine] +\def\RTL@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \global\c@colht\@colht\global\c@addvipersep\z@ + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \ifdim\right@cor>\z@ + \global\advance\@colht by\right@cor + \fi + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \fi + \global \setbox\@rightcolumn \vbox{}% + \else + \ifdim\c@colht>\@colht + \@tempdima\@colht + \ifdim\@colht>\z@ + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vbox to\@tempdima{% + \vskip\c@addvipersep\unvbox\@outputbox}% + \vskip\stripsep + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \global\c@addvipersep\m@addvipersep + \else + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \fi + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \global\advance\@colht by -\ht\@rightcolumn + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \else + \global\advance\c@colht by-\ht\@rightcolumn + \global\@colht\c@colht + \fi + \else + \global\@firstcolumntrue + \global\setbox\@outputbox\vbox to\ht\@leftcolumn{% + \unvbox\@rightcolumn + \vskip\c@addvipersep + \unvbox\@outputbox + }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hskip \columnwidth + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hskip-\textwidth + \hb@xt@\columnwidth {% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}% + \hskip\columnwidth + \hskip\columnsep}% + }% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \@startdblcolumn}% + \endgroup + \global\juo@sk=0\global\juo@sar={}% + \global\cor@height\z@\global\c@addvipersep\z@ + \fi + \fi +} + + +\def\LTR@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \global\c@colht\@colht\global\c@addvipersep\z@ + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \ifdim\right@cor>\z@ + \global\advance\@colht by\right@cor + \fi + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \fi + \global \setbox\@rightcolumn \vbox{}% + \else + \ifdim\c@colht>\@colht + \@tempdima\@colht + \ifdim\@colht>\z@ + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vbox to\@tempdima{% + \vskip\c@addvipersep\unvbox\@outputbox}% + \vskip\stripsep + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \global\c@addvipersep\m@addvipersep + \else + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \fi + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \global\advance\@colht by -\ht\@rightcolumn + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \else + \global\advance\c@colht by-\ht\@rightcolumn + \global\@colht\c@colht + \fi + \else + \global\@firstcolumntrue + \global\setbox\@outputbox\vbox to\ht\@leftcolumn{% + \unvbox\@rightcolumn + \vskip\c@addvipersep + \unvbox\@outputbox + }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}% + }% + }% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \@startdblcolumn}% + \endgroup + \global\juo@sk=0\global\juo@sar={}% + \global\cor@height\z@\global\c@addvipersep\z@ + \fi + \fi +} + + +\def\@strip[#1/#2]{\global\@tempdima=#1\global\@tempdimb=#2% + \global \setbox\@viper\vbox\bgroup\if@RTLmain\moveleft\dimexpr(\columnwidth+\columnsep)\fi\vbox\bgroup% + \hsize\textwidth + \@parboxrestore + \col@number \@ne + \vrule height\topskip width0pt depth0pt +} + +\def\endstrip{% + \egroup\egroup + \if@firstcolumn + \ifdim\pagetotal>\z@ + \vskip\stripsep + \global\ht@strip\pagegoal + \global\advance\ht@strip by-\pagetotal + \global\advance\ht@strip by-\stripsep + \global\advance\ht@strip by-\ht\@viper + \global\advance\ht@strip by-\stripsep + \global\juo@ht=\ht\@viper + \else + \global\ht@strip\z@ + \fi + \ifdim\ht@strip>\z@ + \unvbox\@viper + \vskip\stripsep + \add@strip{\the\pagetotal}{\the\juo@ht}{\the\@tempdima}{\the\@tempdimb}% + \global\advance\juo@sk by1 + \else + \@latex@error{Strip needs more place!}\@ehc + \if@vihproof + \framebox[\columnwidth]{??? Strip ???}% + \fi + \fi + \else + \@latex@error{Strip is used only on left column!}\@ehc + \if@vihproof + \framebox[\columnwidth]{??? Strip ???}% + \fi + \fi +} +% \end{macrocode} +% \iffalse +%</midfloat-xetex-bidi.def> +%<*minitoc-xetex-bidi.def> +%\fi +% \section{File \texttt{minitoc-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{minitoc-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for minitoc package for XeTeX engine] +\def\@undottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth\relax \else + \vskip \z@ plus.2\p@ + {\if@RTL\rightskip\else\leftskip\fi #2\relax \if@RTL\leftskip\else\rightskip\fi \@tocrmarg \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \hbox{}% + \hskip -\if@RTL\rightskip\else\leftskip\fi + #4\nobreak\hfill \nobreak + \null\par}% + \fi} +\def\@Undottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth\relax \else + \vskip \z@ \@plus.2\p@ + {\if@RTL\rightskip\else\leftskip\fi #2\relax \if@RTL\leftskip\else\rightskip\fi \@tocrmarg \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\coffeefont #4}\nobreak \nobreak\null + \par}% + \fi} +\def\@Undottedtoclinep#1#2#3#4#5{% + \ifnum #1>\c@tocdepth\relax \else + \vskip \z@ \@plus.2\p@ + {\if@RTL\rightskip\else\leftskip\fi #2\relax \if@RTL\leftskip\else\rightskip\fi \@tocrmarg \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {#4}\nobreak \hfill \nobreak\null + \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #5}}% + \par}% + \fi} +% \end{macrocode} +% \iffalse +%</minitoc-xetex-bidi.def> +%<*multicol-xetex-bidi.def> +%\fi +% \section{File \texttt{multicol-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{multicol-xetex-bidi.def}[2019/06/14 v1.2 bidi adaptations for multicol package for XeTeX engine] +\def\page@sofar{% + \process@cols\mult@rightbox + {\ifvoid\count@ + \setbox\count@\hbox to\hsize{}% + \else + \wd\count@\hsize + \fi}% + \count@\col@number \advance\count@\m@ne + \mult@info\z@ + {Column spec: \the\full@width\space = indent + + columns + sep =\MessageBreak + \the\multicol@leftmargin\space + + \the\col@number\space + x \the\hsize\space + + \the\count@\space + x \the\columnsep + }% +\ifvmode\else\errmessage{Multicol Error}\fi + \nointerlineskip + \setbox\z@\hbox{p}\global\dimen\tw@\dp\z@ + \moveright\multicol@leftmargin + \hbox to\full@width{% + \bidi@multicol@align@columns + \rlap{\phantom p}% + }% + \prevdepth\z@ + \kern-\dimen\tw@ + \ifdim\dimen\tw@ > \mc@gridwarn + \PackageWarning{multicol}% + {Very deep columns!\MessageBreak + Grid alignment might be broken}% + \fi +} +\def\LTR@column@boxes{% + \process@cols\mult@gfirstbox{% + \ifdim\dp\count@>\dimen\tw@ + \global\dimen\tw@\dp\count@ \fi + \mc@col@status@write + \box\count@ + \hss{\columnseprulecolor\vrule + \@width\columnseprule}\hss}% + \ifdim\dp\mult@rightbox>\dimen\tw@ + \global\dimen\tw@\dp\mult@rightbox \fi + \mc@lastcol@status@write + \box\mult@rightbox +} + +\def\RTL@column@boxes{% + \ifnum\col@number<\tw@ + \LTR@column@boxes + \else + \process@cols\mult@gfirstbox{% + \hskip\hsize + \hss{\columnseprulecolor\vrule + \@width\columnseprule}\hss + }% + \hskip\hsize + \process@cols\mult@gfirstbox{% + \ifdim\dp\count@>\dimen\tw@ + \global\dimen\tw@\dp\count@ \fi + \hskip-\hsize + \mc@col@status@write + \box\count@ + \hskip-\hsize + \hskip-\columnsep + }% + \ifdim\dp\mult@rightbox>\dimen\tw@ + \global\dimen\tw@\dp\mult@rightbox \fi + \hskip-\hsize + \mc@lastcol@status@write + \box\mult@rightbox + \hskip-\hsize + \hskip\full@width + \fi + } +\newcommand\RTLmulticolcolumns + {\let\bidi@multicol@align@columns + \RTL@column@boxes} +\newcommand\LTRmulticolcolumns + {\let\bidi@multicol@align@columns + \LTR@column@boxes} +\newcommand\bidi@multicol@align@columns + {\if@RTLmain\RTL@column@boxes\else\LTR@column@boxes\fi} +\bidi@AtEndPreamble{% + \if@bidi@csdef{footinsv@l}{% + \def\footnoterule{\kern-3\p@ + \hrule \@width \textwidth \kern 2.6\p@}% + }{}% +} +\def\multicols#1{\col@number#1\relax + \ifnum\col@number<\tw@ + \PackageWarning{multicol}% + {Using `\number\col@number' + columns doesn't seem a good idea.^^J + I therefore use two columns instead}% + \col@number\tw@ \fi + \ifnum\col@number>10 + \PackageError{multicol}% + {Too many columns}% + {Current implementation doesn't + support more than 10 columns.% + \MessageBreak + I therefore use 10 columns instead}% + \col@number10 \fi + \ifx\@footnotetext\mult@footnotetext\else + \let\orig@footnotetext\@footnotetext + \let\@footnotetext\mult@footnotetext + \fi + \ifx\@LTRfootnotetext\mult@LTRfootnotetext\else + \let\orig@LTRfootnotetext\@LTRfootnotetext + \let\@LTRfootnotetext\mult@LTRfootnotetext + \fi + \ifx\@RTLfootnotetext\mult@RTLfootnotetext\else + \let\orig@RTLfootnotetext\@RTLfootnotetext + \let\@RTLfootnotetext\mult@RTLfootnotetext + \fi + \@ifnextchar[\mult@cols{\mult@cols[]}} +\long\def\mult@footnotetext#1{\begingroup + \hsize\textwidth + \columnwidth\textwidth + \orig@footnotetext{#1}\endgroup} +\long\def\mult@LTRfootnotetext#1{\begingroup + \hsize\textwidth + \columnwidth\textwidth + \orig@LTRfootnotetext{#1}\endgroup} +\long\def\mult@RTLfootnotetext#1{\begingroup + \hsize\textwidth + \columnwidth\textwidth + \orig@RTLfootnotetext{#1}\endgroup} +\def\right@footnoterule{% + \kern-3\p@ + \hbox to \textwidth{\hskip \dimexpr\textwidth-.4\columnwidth\relax \hrulefill } + \kern2.6\p@} +\def\textwidth@footnoterule{\kern-3\p@ + \hrule \@width \textwidth \kern 2.6\p@} +\def\bidi@leave@mult@copyins{% + \advance\dimen@-\skip\@bidi@copyins@ + \advance\dimen@-\ht\@bidi@copyins@ +} +\bidi@AtEndPreamble{% + \if@bidi@csdef{footinsv@l}{% + \def\bidi@leave@mult@footins@vr{% + \advance\dimen@-\skip\footinsv@r + \advance\dimen@-\ht\footinsv@r + }% + \def\bidi@leave@mult@footins@vl{% + \advance\dimen@-\skip\footinsv@l + \advance\dimen@-\ht\footinsv@l + }% + \def\bidi@init@mult@footinsv@r{% + \multiply\count\footinsv@r\col@number + \multiply\skip \footinsv@r\col@number + }% + \def\bidi@init@mult@footinsv@l{% + \multiply\count\footinsv@l\col@number + \multiply\skip \footinsv@l\col@number + }% + \def\bidi@reinsert@footnotesv@r{\ifvoid\footinsv@r\else + \insert\footinsv@r{}\fi}% + \def\bidi@reinsert@footnotesv@l{\ifvoid\footinsv@l\else + \insert\footinsv@l{}\fi}% + \bidi@patchcmd{\prepare@multicols}{% + \reinsert@footnotes + }{% + \reinsert@footnotes + \bidi@init@mult@footinsv@r + \bidi@reinsert@footnotesv@r + \bidi@init@mult@footinsv@l + \bidi@reinsert@footnotesv@l + }{}{}% + \bidi@patchcmd{\multi@column@out}{% + \ifnum \c@tracingmulticols>\thr@@ + }{% + \ifvoid\footinsv@r + \ifvoid\footinsv@l + \else + \PackageWarning{multicol}% + {I moved some lines to + the next page.\MessageBreak + Footnotes on page + \thepage\space might be wrong}% + \fi + \else + \PackageWarning{multicol}% + {I moved some lines to + the next page.\MessageBreak + Footnotes on page + \thepage\space might be wrong}% + \fi + \ifnum \c@tracingmulticols>\thr@@ +}{}{}% +\bidi@patchcmd{\endmulticols}{% + \reinsert@footnotes +}{% + \reinsert@footnotes + \bidi@reinsert@footnotesv@r + \bidi@reinsert@footnotesv@l +}{}{}% +\bidi@patchcmd{\speci@ls}{% + \reinsert@footnotes +}{% + \reinsert@footnotes + \bidi@reinsert@footnotesv@r + \bidi@reinsert@footnotesv@l +}{}{}% +\bidi@patchcmd{\speci@ls}{% + \reinsert@footnotes +}{% + \reinsert@footnotes + \bidi@reinsert@footnotesv@r + \bidi@reinsert@footnotesv@l +}{}{}% + }{}% + \bidi@patchcmd{\multi@column@out}{% + \ifvbox \@kludgeins + }{% + \if@bidi@csdef{footinsv@l}{% + \divide\skip\footinsv@r\col@number + \ifvoid\footinsv@r \else + \bidi@leave@mult@footins@vr + \fi + \divide\skip\footinsv@l\col@number + \ifvoid\footinsv@l \else + \bidi@leave@mult@footins@vl + \fi + }{}% + \ifvoid\@bidi@copyins@ \else + \bidi@leave@mult@copyins + \fi + \ifvbox \@kludgeins + }{}{}% +} +% \end{macrocode} +% \iffalse +%</multicol-xetex-bidi.def> +%<*multienum-xetex-bidi.def> +%\fi +% \section{File \texttt{multienum-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{multienum-xetex-bidi.def}[2011/04/16 v0.1 bidi adaptations for multienum package for XeTeX engine] +\renewcommand{\itemx}[1]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep% +\parbox[t]{\remainx}{\bidi@raggedright #1}\par}%\smallskip +\renewcommand{\itemxx}[2]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{.5\remainxx}{\bidi@raggedright #1}\hfill\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.5\remainxx}{\bidi@raggedright #2}\smallskip} +\renewcommand{\itemxxx}[3]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep% +\parbox[t]{.3333\remainxxx}{\bidi@raggedright #1}\hfill\parbox[t]% +{\labelwidth}{\hfill {\labelname}}\hskip\labelsep% +\parbox[t]{0.3333\remainxxx}{\bidi@raggedright #2}\hfill\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep% +\parbox[t]{0.3333\remainxxx}{\bidi@raggedright #3}\par}%\smallskip +\renewcommand{\itemxxxx}[4]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{.25\remainxxxx}{\bidi@raggedright #1}\hfill\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #2}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #3}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #4}\smallskip} +\renewcommand{\itemxxxxx}[5]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.2\remainxxxxx}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.2\remainxxxxx}{\bidi@raggedright #2}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.2\remainxxxxx}{\bidi@raggedright #3}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.2\remainxxxxx}{\bidi@raggedright #4}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.2\remainxxxxx}{\bidi@raggedright #5}\smallskip} +\renewcommand{\itemxox}[2]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{\remainxox}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.3333\remainxxx}{\bidi@raggedright #2}\smallskip} +\renewcommand{\itemxxo}[2]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.3333\remainxxx}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{\remainxox}{\bidi@raggedright #2}\smallskip} +\renewcommand{\itemxoxx}[3]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{\remainxoxx}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #2}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #3}\smallskip} +\renewcommand{\itemxxox}[3]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{.25\remainxxxx}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{\remainxoxx}{\bidi@raggedright #2}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{0.25\remainxxxx}{\bidi@raggedright #3}\smallskip} +\renewcommand{\itemxxxo}[3]{\parbox[t]% +{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{.25\remainxxxx}{\bidi@raggedright #1}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{.25\remainxxxx}{\bidi@raggedright #2}\hfill% +\parbox[t]{\labelwidth}{\hfill{\labelname}}\hskip\labelsep +\parbox[t]{\remainxoxx}{\bidi@raggedright #3}\smallskip} +% \end{macrocode} +% \iffalse +%</multienum-xetex-bidi.def> +%<*natbib-xetex-bidi.def> +%\fi +% \section{File \texttt{natbib-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{natbib-xetex-bidi.def}[2017/06/09 v0.2 bidi adaptations for natbib package for XeTeX engine] +\renewenvironment{thebibliography}[1]{% + \bibsection + \parindent\z@ + \bibpreamble + \bibfont + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\the\c@NAT@ctr}}{\@bibsetup{#1}\global\c@NAT@ctr\z@}% + \ifNAT@openbib + \renewcommand\newblock{\par}% + \else + \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% + \fi + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.\@m + \let\NAT@bibitem@first@sw\@firstoftwo + \let\citeN\cite \let\shortcite\cite + \let\citeasnoun\cite +}{% + \bibitem@fin + \bibpostamble + \def\@noitemerr{% + \PackageWarning{natbib}{Empty `thebibliography' environment}% + }% + \endlist + \bibcleanup +}% +% \end{macrocode} +% \iffalse +%</natbib-xetex-bidi.def> +%<*newfloat-xetex-bidi.def> +%\fi +% \section{File \texttt{newfloat-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{newfloat-xetex-bidi.def}[2013/05/22 v0.1 bidi adaptations for newfloat package for XeTeX engine] +\renewcommand*\newfloat@setwithin[2]{% + \ifcsname c@chapter\endcsname + \@removefromreset{#1}{chapter}% + \fi + \@removefromreset{#1}{section}% + \edef\@tempa{#2}% + \ifx\@tempa\@empty + \def\@tempa{none}% + \fi + \def\@tempb{none}% + \ifx\@tempa\@tempb + \ifcsname c@chapter\endcsname + \@chapterlistsgap@off{#1}% + \fi + \newfloat@@setwithin{#1}{}{}% + \else + \def\@tempb{chapter}% + \ifx\@tempa\@tempb + \@addtoreset{#1}{chapter}% + \@chapterlistsgap@on{#1}% + \newfloat@@setwithin{#1}{\ifnum\c@chapter>\z@ \thechapter\@SepMark\fi}{\theHchapter\@SepMark}% + \else + \def\@tempb{section}% + \ifx\@tempa\@tempb + \@addtoreset{#1}{section}% + \ifcsname c@chapter\endcsname + \@addtoreset{#1}{chapter}% + \@chapterlistsgap@on{#1}% + \newfloat@@setwithin{#1}{\thesection\@SepMark}{\theHsection\@SepMark}% + \else + \newfloat@@setwithin{#1}{\ifnum\c@section>\z@ \thesection\@SepMark\fi}{\theHsection\@SepMark}% + \fi + \else + \newfloat@Error{Invalid value `#2' for option `within'}% + \fi + \fi + \fi} +% \end{macrocode} +% \iffalse +%</newfloat-xetex-bidi.def> +%<*ntheorem-xetex-bidi.def> +%\fi +% \section{File \texttt{ntheorem-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{ntheorem-xetex-bidi.def}[2012/05/01 v0.1 bidi adaptations for ntheorem package for XeTeX engine] +\gdef\@thm#1#2#3{% + \if@thmmarks + \stepcounter{end\InTheoType ctr}% + \fi + \renewcommand{\InTheoType}{#1}% + \if@thmmarks + \stepcounter{curr#1ctr}% + \setcounter{end#1ctr}{0}% + \fi + \refstepcounter{#2}% + \theorem@prework + \thm@topsepadd \theorempostskipamount % cf. latex.ltx: \@trivlist + \ifvmode \advance\thm@topsepadd\partopsep\fi + \trivlist + \@topsep \theorempreskipamount + \@topsepadd \thm@topsepadd % used by \@endparenv + \advance\linewidth -\theorem@indent + \advance\@totalleftmargin \theorem@indent + \if@RTL\parshape \@ne 0pt \linewidth\else \parshape \@ne \@totalleftmargin \linewidth\fi + \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}} +% \end{macrocode} +% \iffalse +%</ntheorem-xetex-bidi.def> +%<*ntheorem-hyper-xetex-bidi.def> +%\fi +% \section{File \texttt{ntheorem-hyper-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{ntheorem-hyper-xetex-bidi.def}[2012/05/01 v0.1 bidi adaptations for ntheorem-hyper package for XeTeX engine] +\gdef\@thm#1#2#3{% + \if@thmmarks + \stepcounter{end\InTheoType ctr}% + \fi + \renewcommand{\InTheoType}{#1}% + \if@thmmarks + \stepcounter{curr#1ctr}% + \setcounter{end#1ctr}{0}% + \fi + \refstepcounter{#2}% + \thm@topsepadd \theorempostskipamount % cf. latex.ltx: \@trivlist + \ifvmode \advance\thm@topsepadd\partopsep\fi + \trivlist + \@topsep \theorempreskipamount + \@topsepadd \thm@topsepadd % used by \@endparenv + \advance\linewidth -\theorem@indent + \advance\@totalleftmargin \theorem@indent + \if@RTL\parshape \@ne 0pt \linewidth\else \parshape \@ne \@totalleftmargin \linewidth\fi + \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}} +% \end{macrocode} +% \iffalse +%</ntheorem-hyper-xetex-bidi.def> +%<*overpic-xetex-bidi.def> +%\fi +% \section{File \texttt{overpic-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{overpic-xetex-bidi.def}[2015/12/07 v0.1 bidi adaptations for overpic package for XeTeX engine] +\renewenvironment{overpic}[2][]{% + \sbox{\z@}{\includegraphics[#1]{#2}}% + \settodepth{\@tempcnta}{\usebox{\z@}}% + \settoheight{\@tempcntb}{\usebox{\z@}}% + \advance\@tempcntb\@tempcnta% + \settowidth{\@tempcnta}{\usebox{\z@}}% + \setlength{\@tempdima}{\unitlength}% + \count@=\z@\Gin@gridfalse\setkeys{Gin}{#1}% +% + \OVP@calc% +% + \begin{picture}(\@tempcnta,\@tempcntb)% + \if@RTL\else\put(0,0){\makebox(0,0)[bl]{\usebox{\z@}}}% + \ifGin@grid% + \put(0,0){\normalfont\fontsize\@viipt\@viiipt\selectfont% + \grid(\@tempcnta,\@tempcntb)(\count@,\count@)[0,0]}% + \fi\fi% + % reset the graphics parameter + \let\Gin@outer@scalex\relax + \let\Gin@outer@scaley\relax + \let\Gin@angle\relax + \let\Gin@ewidth\Gin@exclamation + \let\Gin@eheight\Gin@ewidth + \def\Gin@scalex{1} + \let\Gin@scaley\Gin@exclamation +}{% + \if@RTL\ifGin@grid% + \put(0,0){\normalfont\fontsize\@viipt\@viiipt\selectfont% + \grid(\@tempcnta,\@tempcntb)(\count@,\count@)[0,0]}% + \fi% + \put(0,0){\makebox(0,0)[bl]{\usebox{\z@}}}\fi% + \end{picture}% +}% +% \end{macrocode} +% \iffalse +%</overpic-xetex-bidi.def> +%<*pdfbase-xetex-bidi.def> +%\fi +% \section{File \texttt{pdfbase-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{pdfbase-xetex-bidi.def}[2018/09/29 v0.2 bidi adaptations for pdfbase package for XeTeX engine] +\ExplSyntaxOn +\cs_set_eq:NN\pbs_outputpage_orig:\@outputpage +\cs_set_nopar:Npn\@outputpage{ + \int_gincr:N\g_pbs_page_int + \iow_now:Nx\@mainaux{ + \token_to_str:N\pbs@newkey{pbs@last@page}{\int_use:N\g_pbs_page_int} + } + \box_if_vertical:cTF{@outputbox}{ + \bool_set_true:N\l_pbs_is_vertical_bool + }{ + \bool_set_false:N\l_pbs_is_vertical_bool + } + \hbox_set:Nn\@outputbox{ + %begin of page + \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_bop_seq{##1}} + \box_use_clear:N\@outputbox + %end of page + \hbox_overlap_right:n{\seq_map_inline:Nn\g_pbs_eop_seq{##1}} + } + \bool_if:NT\l_pbs_is_vertical_bool{ + \vbox_set:Nn\@outputbox{\box_use_clear:N\@outputbox} + } + \pbs_outputpage_orig: +} +\ExplSyntaxOff +% \end{macrocode} +% \iffalse +%</pdfbase-xetex-bidi.def> +%<*pdfpages-xetex-bidi.def> +%\fi +% \section{File \texttt{pdfpages-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{pdfpages-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for pdfpages package for XeTeX engine] +\renewcommand*{\includepdf}[2][]{% + \begingroup + \@RTLfalse + \let\AM@threadname\relax + \AM@split@options{pdfpages}{#1}% + \edef\AM@temp{{pdfpages}{\the\@temptokena}}% + \expandafter\setkeys\AM@temp + \ifthenelse{\boolean{AM@pkg@draft} \and \boolean{AM@survey}}{% + \let\AM@currentdocname\relax + \renewcommand\includegraphics[2][]{Survey in draft-mode}% + \def\AM@pagecount{0}% + }{% + \AM@findfile{#2}% + \if\AM@threadname\relax + \def\AM@threadname{\AM@currentdocname}% + \fi + }% + \ifAM@survey + \def\AM@pagestemp{}% + \@tempcnta=0 + \def\foo{% + \@ifundefined{r@\AM@xrprefix pdfpages@page\the\@tempcnta}% + {\let\foo\relax} + {\expandafter\ifx\expandafter\\\AM@pagestemp\\ + \edef\AM@pagestemp{% + \AM@pageref{\AM@xrprefix pdfpages@page\the\@tempcnta}}% + \else + \edef\AM@pagestemp{\AM@pagestemp,% + \AM@pageref{\AM@xrprefix pdfpages@page\the\@tempcnta}}% + \fi + \advance\@tempcnta 1\relax + }% + \foo + }% + \foo + \expandafter\ifx\expandafter\\\AM@pagestemp\\ + \def\AM@pagestemp{1}% + \fi + \fi + \ifAM@output + \expandafter\AM@readlist\expandafter{\AM@pagestemp}% + \AM@output{#1}% + \fi + \AM@CheckAtEnd + \endgroup + \AM@ClearShipoutPicture +} +% \end{macrocode} +% \iffalse +%</pdfpages-xetex-bidi.def> +%<*pgfcorescopes.code-xetex-bidi.def> +%\fi +% \section{File \texttt{pgfcorescopes.code-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{pgfcorescopes.code-xetex-bidi.def}[2015/11/14 v0.1 bidi adaptations for pgf package for XeTeX engine] +\def\pgfpicture{% + \begingroup% + \ifmmode\else\@RTLfalse\beginL\fi% + \pgfpicturetrue% + \global\advance\pgf@picture@serial@count by1\relax% + \edef\pgfpictureid{pgfid\the\pgf@picture@serial@count}% + \let\pgf@nodecallback=\pgfutil@gobble% + \pgf@picmaxx=-16000pt\relax% + \pgf@picminx=16000pt\relax% + \pgf@picmaxy=-16000pt\relax% + \pgf@picminy=16000pt\relax% + \pgf@relevantforpicturesizetrue% + \pgf@resetpathsizes% + \pgfutil@ifnextchar\bgroup\pgf@oldpicture\pgf@picture} +\def\endpgfpicture{% + \ifpgfrememberpicturepositiononpage% + \hbox to0pt{\pgfsys@markposition{\pgfpictureid}}% + \fi% + % ok, now let's position the box + \ifdim\pgf@picmaxx=-16000pt\relax% + % empty picture. make size 0. + \global\pgf@picmaxx=0pt\relax% + \global\pgf@picminx=0pt\relax% + \global\pgf@picmaxy=0pt\relax% + \global\pgf@picminy=0pt\relax% + \fi% + % Shift baseline outside: + \pgf@relevantforpicturesizefalse% + \pgf@process{\pgf@baseline}% + \xdef\pgf@shift@baseline{\the\pgf@y}% + % + \pgf@process{\pgf@trimleft}% + \global\advance\pgf@x by-\pgf@picminx + % prepare \hskip\pgf@trimleft@final. + % note that \pgf@trimleft@final is also queried + % by the pgf image externalization. + \xdef\pgf@trimleft@final{-\the\pgf@x}% + % + \pgf@process{\pgf@trimright}% + \global\advance\pgf@x by-\pgf@picmaxx + % prepare \hskip\pgf@trimright@final. + % note that \pgf@trimright@final is also queried + % by the pgf image externalization. + \xdef\pgf@trimright@final{\the\pgf@x}% + % + \pgf@remember@layerlist@globally + \endgroup% + \hss% + \egroup% + \pgf@restore@layerlist@from@global + \pgf@insertlayers% + \endgroup% + \pgfsys@discardpath% + \endgroup% + \pgfsys@endscope% + \pgfsys@endpicture% + \endgroup% + \hss + \egroup% + \pgfsys@typesetpicturebox\pgfpic% + \ifmmode\else\endL\fi% + \endgroup% +} +% \end{macrocode} +% \iffalse +%</pgfcorescopes.code-xetex-bidi.def> +%<*picinpar-xetex-bidi.def> +%\fi +% \section{File \texttt{picinpar-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{picinpar-xetex-bidi.def}[2013/04/08 v0.2 bidi adaptations for picinpar package for XeTeX engine] +\long\def\@makewincaption#1#2{% + \setbox\@tempboxa\hbox{\footnotesize{\bf #1:\enspace}{#2}}% + \ifdim\wd\@tempboxa>\picwd + {\footnotesize{\bf #1:\enspace}{#2\par}} + \else + \hbox to\picwd{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi} + \fi} +\def\endwindow{% + \global\tcd=\tcdsav + \egroup\vskip\parskip\parshape=0 % reset parshape; end \box\rawtext + \vbadness=10000 + \splittopskip=0pt +% +% Typeset the lines above the window +% +\ifnum\tcd>0\setbox\holder=\vsplit\rawtext to \tcd\baselineskip +\tcn=\tcd +\loop\advance\tcn -1 +\setbox\fslice=\vsplit\holder to\baselineskip +\prune\fslice\linewidth +\topheight=0pt +\ifnum\dp\fslice>\dp\wstrutbox + \advance\topheight-\dp\fslice + \advance\topheight\dp\wstrutbox + \advance\topheight\ilg\fi +\hbox to\linewidth{\box\fslice} +\vskip-\topheight +\ifdim\ht\holder>0pt\repeat +\fi +% +% Now we build the boxes beside the window +% +\global\topheight=\tcl\baselineskip +\ifnum\cumpartcl>0\global\tcl=\cumtcl + \global\topheight=\vpic +\fi +\ifnum\bl>0 \ifnum\br>0 \multiply\topheight by 2\fi\fi +\ifnum\bl>0\setbox\holder=\vsplit\rawtext to\topheight +\else\ifnum\br>0\setbox\holder=\vsplit\rawtext to\topheight\fi\fi +\tcn=\tcl \na=0 \nb=0 +\ifnum\bl>0 \ifnum\br>0 \multiply\tcn by 2\fi\fi +\ifnum\bl>0\na=\tcn\ifnum\br>0\divide\na by 2\fi\fi +\ifnum\br>0\nb=\tcn\ifnum\bl>0\divide\nb by 2\fi\fi +\ifnum\na=0\ifnum\nb=0 + \setbox\waslice=\vbox to\vpic{\vss} + \setbox\wbslice=\vbox to\vpic{\vss} + \bl=1\br=1 + \vskip\ilg +\fi\fi +% +% both sides +% +\ifnum\na>0 \ifnum\nb>0 +\loop\advance\nb -1 +\advance\na -1 +\if@RTL% +\setbox\bslice=\vsplit\holder to\baselineskip +\prune\bslice\rtside +\setbox\wbslice=\vbox{\unvbox\wbslice\hbox +to\rtside{\box\bslice\hfil}} +\setbox\aslice=\vsplit\holder to\baselineskip +\prune\aslice\lftside +\setbox\waslice=\vbox{\unvbox\waslice\hbox +to\lftside{\box\aslice\hfil}} +\else% +\setbox\aslice=\vsplit\holder to\baselineskip +\prune\aslice\lftside +\setbox\waslice=\vbox{\unvbox\waslice\hbox +to\lftside{\box\aslice\hfil}} +\setbox\bslice=\vsplit\holder to\baselineskip +\prune\bslice\rtside +\setbox\wbslice=\vbox{\unvbox\wbslice\hbox +to\rtside{\box\bslice\hfil}} +\fi% +\ifnum\nb>0\repeat +\fi\fi +% +% only text on the left side +% +\ifnum\na>0 + \loop\advance\na -1 + \setbox\aslice=\vsplit\holder to\baselineskip + \prune\aslice\lftside + \setbox\waslice=\vbox{\unvbox\waslice\hbox + to\lftside{\box\aslice\hfil}} + \ifdim\ht\holder>0pt\repeat +\fi +% +% only text on the right side +% +\ifnum\nb>0 + \loop\advance\nb -1 + \setbox\bslice=\vsplit\holder to\baselineskip + \prune\bslice\rtside + \setbox\wbslice=\vbox{\unvbox\wbslice\hbox + to\rtside{\box\bslice\hfil}} + \ifdim\ht\holder>0pt\repeat +\fi +% +% fixing the dimensions of the window part +% +\ifnum\bl=0\topheight=\ht\wbslice +\else\ifnum\br=0\topheight=\ht\waslice + \else\ifdim\ht\waslice>\ht\wbslice\topheight=\ht\waslice + \else\topheight=\ht\wbslice\fi\fi\fi +% +% ship out the window material to the main vertical list +% +\ifnum\bl>0 \ifnum\br>0 \ifdim\ht\wbslice<\topheight +\setbox\wbslice=\vbox to\topheight{\box\wbslice\vfill} +\fi\fi\fi +\setbox\windowbox=\vbox{\hbox to\linewidth{% +\ifnum\bl>0\box\waslice\hfill\fi% +\vbox to\topheight{\hrule width\picwd height0pt depth0pt\vskip0pt% +\vfill\unvbox\picbox% +\ifnum\picwd>0\vfill\fi% +\vss}\ifnum\br>0\hfill\vbox{\box\wbslice}\fi}}% +\unvbox\windowbox% +\loop + \setbox\bslice=\vsplit\rawtext to\baselineskip + \prune\bslice\linewidth + \setbox\wbslice=\vbox{\hbox to\linewidth{\box\bslice\hfil}} + \unvbox\wbslice + \ifdim\ht\rawtext>0pt +\repeat +}% FINITO +% \end{macrocode} +% \iffalse +%</picinpar-xetex-bidi.def> +%<*plain-xetex-bidi.def> +%\fi +% \section{File \texttt{plain-xetex-bidi.def}} +% \begin{macrocode} +\def\TeXXeTOn{\TeXXeTstate=1 } +\def\TeXXeTOff{\TeXXeTstate=0 } +\TeXXeTOn +\def\usebox#1{\leavevmode\copy #1\relax} +\def\bidi@RTL@everypar{{\setbox\z@\lastbox\if@RTL\beginR\else\beginL\fi\ifvoid\z@\else\usebox\z@\fi}} + \let\bidi@o@everypar=\everypar + \newtoks\bidi@n@everypar + \bidi@n@everypar\expandafter{\the\bidi@o@everypar} + \bidi@o@everypar{\bidi@RTL@everypar\the\bidi@n@everypar} + \let\everypar=\bidi@n@everypar +\def\moreLRE{\bracetext \aftergroup\endL \beginL\@RTLfalse} +\def\moreRLE{\bracetext \aftergroup\endR \beginR\@RTLtrue} +\protected\def\hboxR{\hbox\bgroup + \everyhbox{% + \aftergroup\egroup + \everyhbox{}% + \beginR + \@hboxRconstructtrue + \bgroup + \aftergroup\endR + \aftergroup\egroup + }\hbox} +\protected\def\hboxL{\hbox\bgroup + \everyhbox{% + \aftergroup\egroup + \everyhbox{}% + \beginL + \@hboxRconstructfalse + \bgroup + \aftergroup\endL + \aftergroup\egroup + }\hbox} +\protected\def\vboxR{\vbox\bgroup + \everyvbox{% + \aftergroup\egroup + \everyvbox{}% + \@RTLtrue + \bgroup + \aftergroup\egroup + }\vbox} +\protected\def\vboxL{\vbox\bgroup + \everyvbox{% + \aftergroup\egroup + \everyvbox{}% + \@RTLfalse + \bgroup + \aftergroup\egroup + }\vbox} +\def\LTR{\par\@RTLfalse\@RTL@footnotefalse\hsize\linewidth\parshape\z@} +\def\endLTR{\par} +\def\RTL{\par\@RTLtrue\@RTL@footnotetrue\hsize\linewidth\parshape\z@} +\def\endRTL{\par} +\def\setRTL{\@RTLtrue\@RTL@footnotetrue} +\def\setLTR{\@RTLfalse\@RTL@footnotefalse} +\let\unsetRTL=\setLTR +\let\unsetLTR=\setRTL +\let\LR=\LRE +\let\RL=\RLE +\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi} +\def\@ensure@LTR#1{\if@RTL\LRE{#1}\else#1\fi} +\let\@ensure@RL=\@ensure@RTL +\let\@ensure@LR=\@ensure@LTR +\def\@ensure@dir#1{\if@RTL\RLE{#1}\else{#1}\fi} +\let\@ensure@maindir=\@ensure@dir +\def\@@RTL{RTL} +\def\@@LTR{LTR} +\def\save@dir{\if@RTL\gdef\saved@@dir{RTL}\else\gdef\saved@@dir{LTR}\fi} +\def\reset@dir{\ifx\saved@@dir\@@RTL\setRTL\else\ifx\saved@@dir\@@LTR\setLTR\else\relax\fi\fi} +\let\@@TeX\TeX +\def\TeX{\@ensure@LTR{\@@TeX}} +\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi + \dimen@=\dp\@cclv \unvbox\@cclv % open up \box255 + \ifvoid\footins\else % footnote info is present + \vskip\skip\footins + \footnoterule + \unvbox\footins\fi + \ifr@ggedbottom \kern-\dimen@ \vfil \fi + \ifvoid\@bidi@copyins@ + \else + \vskip\skip\@bidi@copyins@ + \unvbox\@bidi@copyins@ + \fi +} +\long\def\bidi@reflect@box#1{% + \leavevmode + \setbox\z@\hbox{{#1}}% + \setbox\tw@\hbox{\special{x:gsave}\special{x:scale -1 1}\rlap{\copy\z@}\special{x:grestore}}% + \hbox to \wd\z@{\kern\wd\z@\box\tw@\hss}% +} +\def\XeTeX{\LR{\leavevmode$\smash{\hbox{X\lower.5ex + \hbox{\kern-.125em\bidi@reflect@box{E}}\kern-.1667em \TeX}}$}} +\let\setRL=\setRTL +\let\setLR=\setLTR +\let\unsetRL=\setLTR +\let\bidi@saved@eqno=\eqno +\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} +\def\centerline#1{\line{\hss\if@RTL\beginR\fi#1\if@RTL\endR\fi\hss}} +\def\leftline#1{\line{\if@RTL\beginR\fi#1\if@RTL\endR\fi\hss}} +\def\rightline#1{\line{\hss\if@RTL\beginR\fi#1\if@RTL\endR\fi}} +% \end{macrocode} +% \iffalse +%</plain-xetex-bidi.def> +%<*pstricks-xetex-bidi.def> +%\fi +% \section{File \texttt{pstricks-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{pstricks-xetex-bidi.def}[2015/11/18 v0.5 bidi adaptations for pstricks package for XeTeX engine] +\def\pspicture{\begingroup\ifmmode\else\@RTLfalse\beginL\fi\pst@ifstar\pst@picture} +\def\endpspicture{% + \ifshowgrid\ifnum\showgridp@s>0 + \psgrid[xunit=\sh@wgridXunit,yunit=\sh@wgridYunit,style=gridstyle]\fi\fi% + \pst@killglue +% \global\pst@shift=\pst@shift% in fact of the following endgroup + \endgroup + \egroup + \ifdim\wd\pst@hbox=\z@\else + %\@pstrickserr{Extraneous space in the pspicture environment}% + %{Type \space <return> \space to proceed.}% + \fi + \ht\pst@hbox=\pst@dimd + \dp\pst@hbox=-\pst@dimb + \setbox\pst@hbox=\hbox{% + \kern-\pst@dima +% Orig version ---------- +%\ifx\pst@tempa\@empty\else +%\advance\pst@dimd-\pst@dimb +%\pst@dimd=\pst@tempa\pst@dimd +%\advance\pst@dimd\pst@dimb +%\lower\pst@dimd +%\fi +%----- end Orig + \ifPst@shift@star%\typeout{==pstricks== old behaviour of the shift option}% shift=* + \advance\pst@dimd-\pst@dimb + \pst@dimd=0.5\pst@dimd + \else\pst@dimd-\pst@shift\fi + \advance\pst@dimd\pst@dimb + \lower\pst@dimd + \box\pst@hbox + \kern\pst@dimc}% + \if@star\setbox\pst@hbox=\hbox{\clipbox@@\z@}\fi + \leavevmode\ifdim\overfullrule=\z@\box\pst@hbox\else + \fboxsep=0pt + \fbox{\rule[-\pst@shift]{0pt}{\ht\pst@hbox}\rule{\wd\pst@hbox}{0pt}}\fi + \ifmmode\else\endL\fi + \endgroup% + \psset[pstricks]{shift=0}% reset value +} +% \end{macrocode} +% \iffalse +%</pstricks-xetex-bidi.def> +%<*quotchap-xetex-bidi.def> +%\fi +% \section{File \texttt{quotchap-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{quotchap-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for quotchap package for XeTeX engine] +\renewcommand{\qauthor}[1]{% + \par\smallskip + {\if@RTL\raggedright\else\raggedleft\fi\upshape #1\qquad\hbox{}\par}\bigskip} +\renewcommand{\@makechapterhead}[1]{\chapterheadstartvskip% + {\size@chapter{\sectfont\if@RTL\raggedright\else\raggedleft\fi + {\chapnumfont + \ifnum \c@secnumdepth >\m@ne% + \if@mainmatter\thechapter% + \fi\fi + \par\nobreak}% + {\if@RTL\raggedright\else\raggedleft\fi\advance\if@RTL\rightmargin\else\leftmargin\fi10em\interlinepenalty\@M #1\par}} + \nobreak\chapterheadendvskip}} +\renewcommand*{\@iprintcites}{% + \vbox to\z@{\leavevmode\copy\@quotebox\vss} + \global\let\@printcites\relax} +% \end{macrocode} +% \iffalse +%</quotchap-xetex-bidi.def> +%<*ragged2e-xetex-bidi.def> +%\fi +% \section{File \texttt{ragged2e-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{ragged2e-xetex-bidi.def}[2018/10/17 v0.3 bidi adaptations for ragged2e package for XeTeX engine] +\renewcommand{\Centering}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \if@RTL\rightskip\else\leftskip\fi\CenteringLeftskip + \@rightskip\CenteringRightskip + \if@RTL\leftskip\else\rightskip\fi\@rightskip + \parfillskip\CenteringParfillskip + \parindent\CenteringParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\renewcommand{\RaggedLeft}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \if@RTL\rightskip\else\leftskip\fi\RaggedLeftLeftskip + \@rightskip\RaggedLeftRightskip + \if@RTL\leftskip\else\rightskip\fi\@rightskip + \parfillskip\RaggedLeftParfillskip + \parindent\RaggedLeftParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\renewcommand{\RaggedRight}{% + \ifx\\\@raggedtwoe@savedcr + \let\\\@centercr + \fi + \let\@gnewline\@raggedtwoe@gnewline + \if@RTL\rightskip\else\leftskip\fi\RaggedRightLeftskip + \@rightskip\RaggedRightRightskip + \if@RTL\leftskip\else\rightskip\fi\@rightskip + \parfillskip\RaggedRightParfillskip + \parindent\RaggedRightParindent + \@raggedtwoe@spaceskiptrue + \@raggedtwoe@everyselectfont + } +\renewcommand{\justifying}{% + \let\\\@raggedtwoe@savedcr + \let\@gnewline\@raggedtwoe@saved@gnewline + \if@RTL\rightskip\else\leftskip\fi\z@ + \@rightskip\z@ + \if@RTL\leftskip\else\rightskip\fi\@rightskip + \parfillskip\JustifyingParfillskip + \parindent\JustifyingParindent + \@raggedtwoe@spaceskipfalse + \@raggedtwoe@everyselectfont + } +\def\@raggedtwoe@raggedrightboxes@opt{% + \renewcommand{\@arrayparboxrestore}{% + \let\if@nobreak\iffalse + \let\if@noskipsec\iffalse + \let\par\@@par + \let\-\@dischyph + \let\'\@acci\let\`\@accii\let\=\@acciii + \parskip\z@skip + \everypar{}% + \linewidth\hsize + \@totalleftmargin\z@ + \if@RTL + \RaggedLeft + \else + \RaggedRight + \fi + \lineskip\normallineskip + \baselineskip\normalbaselineskip + \sloppy}% + \let\@raggedtwoe@raggedrightboxes@opt\relax + } +\def\@raggedtwoe@document@opt{% + \AtBeginDocument{\@raggedtwoe@abdhook}% + \@raggedtwoe@raggedrightboxes@opt + \@raggedtwoe@footmisctrue + \let\@raggedtwoe@document@opt\relax + } +\def\@raggedtwoe@abdhook{% + \PackageInfo{ragged2e}{ABD: executing `\string\RaggedLeft' for + right to left documents and `\string\RaggedRight' for left + to right documents}% + \if@RTL + \RaggedLeft + \else + \RaggedRight + \fi + \@ifundefined{@tocrmarg}{}{\edef\@tocrmarg{\@tocrmarg plus 2em}}% + \let\@raggedtwoe@abdhook\relax + } +\@ifpackagewith{ragged2e}{raggedrightboxes}{% + \@raggedtwoe@raggedrightboxes@opt +}{} +\@ifpackagewith{ragged2e}{document}{% + \@raggedtwoe@document@opt +}{} +\let\origin@RaggedLeft=\RaggedLeft +\let\origin@RaggedRight=\RaggedRight +\def\RaggedLeft{\if@RTL\origin@RaggedRight\else\origin@RaggedLeft\fi} +\def\RaggedRight{\if@RTL\origin@RaggedLeft\else\origin@RaggedRight\fi} +% \end{macrocode} +% \iffalse +%</ragged2e-xetex-bidi.def> +%<*rapport1-xetex-bidi.def> +%\fi +% \section{File \texttt{rapport1-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{rapport1-xetex-bidi.def}[2017/06/09 v0.4 bidi adaptations for rapport1 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\if@titlepage + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont\abstractname}% + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\else + \renewenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \bgroup\if@RTL\leftskip\else\rightskip\fi=\unitindent + \section*{\small\SectFont\abstractname}% + \noindent\ignorespaces + \fi} + {\if@twocolumn\else\par\egroup\fi} +\fi +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\if@oldtoc +\renewcommand*\l@chapter[2]{% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup} +\else + \renewcommand*\l@chapter{\@regtocline{0}} +\fi +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand*\thesection{\thechapter\@SepMark\@arabic\c@section} +\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*\theequation{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi\@arabic\c@equation} +\renewcommand*\thefigure{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@figure} +\renewcommand*\thetable{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@table} +\if@titlepage +\renewcommand*\TitleFont{\rmfamily} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} +\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax + \futurelet\@tempa\uc@ax} +\def\uc@ax{% + \ifx\@tempa\relax + \else + \\ \andname \\ \expandafter\uc@authornothanks + \fi} +\def\uc@tx{\ifx\@tempa\relax + \else \expandafter\uc@ty \fi} +\def\uc@ty#1{\thanks{#1}\uc@nothanks} +\else +\renewcommand*\maketitle{\par + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext{\@xmakefntext{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + {\LARGE \TitleFont \@title \par}% + \vskip 1.5em% + {\large \TitleFont + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \TitleFont \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +% \end{macrocode} +% \iffalse +%</rapport1-xetex-bidi.def> +%<*rapport3-xetex-bidi.def> +%\fi +% \section{File \texttt{rapport3-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{rapport3-xetex-bidi.def}[2017/06/09 v0.6 bidi adaptations for rapport3 class for XeTeX engine] +\renewenvironment{theindex}{% + \if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase{\indexname}}{\MakeUppercase{\indexname}}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem + }{% + \if@restonecol\onecolumn\else\clearpage\fi} +\if@titlepage +\renewcommand*\TitleFont{\rmfamily} +\renewcommand*\maketitle{% + \begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + \long\def\@makefntext##1{\parindent\z@ + \def\labelitemi{\textendash}\@revlabeltrue + \leavevmode\@textsuperscript{\@thefnmark}\kern1em\relax ##1} + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \if@compatibility\setcounter{page}{0}\fi + \null\vfil + \vskip 60\p@ + \begin{center}% + \TitleFont + {\LARGE \def\\{\penalty -\@M} + \if@allcaps + \expandafter\uc@nothanks\@title\thanks\relax + \else + \@title + \fi\par}% + \vskip 3em% + {\large + \lineskip .75em \parindent\z@ + \begin{tabular}[t]{c}% + \if@allcaps + \expandafter\uc@authornothanks\@author\and\relax + \else + \@author + \fi + \end{tabular}\par}% + \vskip 1.5em% + {\large + \if@allcaps + \uppercase\expandafter{\@date}% + \else + \@date + \fi\par}% + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\uc@nothanks#1\thanks{\uppercase{#1}\futurelet\@tempa\uc@tx} +\def\uc@authornothanks#1\and{\uc@nothanks#1\thanks\relax + \futurelet\@tempa\uc@ax} +\def\uc@ax{% + \ifx\@tempa\relax + \else + \\ \andname \\ \expandafter\uc@authornothanks + \fi} +\def\uc@tx{\ifx\@tempa\relax + \else \expandafter\uc@ty \fi} +\def\uc@ty#1{\thanks{#1}\uc@nothanks} +\else +\renewcommand*\maketitle{\par + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext{\@xmakefntext{% + \@textsuperscript{\normalfont\@thefnmark}}}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@title\@empty + \global\let\@date\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\def\@maketitle{% + \newpage + \null + \vskip 2em% +\if@titlecentered + \begin{center}% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\LARGE \TitleFont \@title \par}% + \vskip 1.5em% + {\large \TitleFont + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \TitleFont \@date}% + \end{center}% + \else + {\LARGE \TitleFont \head@style \@title \par} \vskip 1.5em + {\large \TitleFont \lineskip .5em \tabcolsep\z@ + \def\and{%%% \begin{tabular} has already started + \end{tabular}\hskip 1em plus .17fil + \if@RTL\begin{tabular}[t]{r}\else\begin{tabular}[t]{l}\fi}%% \end{tabular} will come + \if@RTL\begin{tabular}[t]{r}\else\begin{tabular}[t]{l}\fi\@author\end{tabular}\par} + \vskip 1em {\large \TitleFont \@date} + \fi + \par + \vskip 1.5em} +\fi +\renewcommand*\@regtocline[3]{% + \ifnum #1>\c@tocdepth + \else + \vskip\z@\@plus.2\p@ + {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M + \if@RTL\rightskip\else\leftskip\fi\unitindent + \if@RTL\leftskip\else\rightskip\fi\unitindent\@plus 1fil + \parfillskip\z@ + \@tempdima\unitindent + \parindent\z@ + \leavevmode + \hbox{}\hskip -\if@RTL\rightskip\else\leftskip\fi\relax#2\nobreak + \hskip 1em \nobreak{\slshape #3}\par + }% + \fi} +\if@oldtoc +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \setlength\@tempdima{3em}% + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\else + \renewcommand*\l@part{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus \p@}% + \@regtocline{0}% + \fi} +\fi +\if@oldtoc +\renewcommand*\l@chapter[2]{% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup} +\else + \renewcommand*\l@chapter{\@regtocline{0}} +\fi +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +\if@titlepage + \renewenvironment{abstract}{% + \titlepage + \null\vfil + \section*{\SectFont\abstractname}% + \noindent\ignorespaces} + {\par\vfil\null\endtitlepage} +\else + \renewenvironment{abstract}{% + \if@twocolumn + \section*{\abstractname}% + \else + \bgroup\if@RTL\leftskip\else\rightskip\fi=\unitindent + \section*{\small\SectFont\abstractname}% + \noindent\ignorespaces + \fi} + {\if@twocolumn\else\par\egroup\fi} +\fi +\renewcommand*\thesection{\thechapter\@SepMark\@arabic\c@section} +\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*\thefigure{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@figure} +\renewcommand*\thetable{% + \ifnum\c@chapter>\z@\thechapter\@SepMark\fi\@arabic\c@table} +\renewcommand*\theequation{% + \ifnum \c@chapter>\z@ \thechapter\@SepMark\fi\@arabic\c@equation} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}}% + \sloppy\clubpenalty4000\widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hrule\@width\unitindent + \kern.4\baselineskip +} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \kern.5\baselineskip + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\unitindent\relax \hrulefill } + \kern.4\baselineskip} +\renewcommand*\head@style{% + \interlinepenalty \@M + \hyphenpenalty=\@M \exhyphenpenalty=\@M + \if@RTL\leftskip\else\rightskip\fi=0cm plus .7\hsize\relax} +% \end{macrocode} +% \iffalse +%</rapport3-xetex-bidi.def> +%<*refrep-xetex-bidi.def> +%\fi +% \section{File \texttt{refrep-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{refrep-xetex-bidi.def}[2017/06/09 v0.5 bidi adaptations for refrep class for XeTeX engine] +\if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark% + {\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{% + \@setpar{\@@par + \@tempdima = \hsize + \advance\@tempdima -1em + \parshape \@ne 1em \@tempdima}% + \par\parindent 1em \noindent + \hb@xt@\z@{\hss\@textsuperscript{\normalfont\@thefnmark}\,}##1} + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + } +\else + \renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark% + {\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{% + \@setpar{\@@par + \@tempdima = \hsize + \advance\@tempdima -1em + \parshape \@ne 1em \@tempdima}% + \par\parindent 1em \noindent + \hb@xt@\z@{\hss\@textsuperscript{\normalfont\@thefnmark}\,}##1} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{empty}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} + \def\@maketitle{% + \newpage + \null + \longthickrule\vskip1.5em% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\secshape \parskip\z@ \parindent\z@ + \Large\bfseries \@title \par}% + \vskip1.5em\longthickrule\vskip1.5em% + {\normalsize + \lineskip .5em% + \begin{flushright}% + {\slshape\@author\par} + \vskip 1em% + {\@date}% + \end{flushright}\par}% + \vskip 1.5em} +\fi +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hbox to\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\renewcommand\secshape{\if@RTL\rightskip\else\leftskip\fi=-\leftmarginwidth% + \if@RTL\leftskip\else\rightskip\fi=\@flushglue% + \hyphenpenalty=2000} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand\theequation +{\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand\thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand\thetable% + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand\thesection {\thechapter\@SepMark\@arabic\c@section} +\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} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname + \@mkboth{\bibname}{\bibname}}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.=\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \iffalse +%</refrep-xetex-bidi.def> +%<*report-xetex-bidi.def> +%\fi +% \section{File \texttt{report-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{report-xetex-bidi.def}[2017/06/09 v0.8 bidi adaptations for standard report class for XeTeX engine] +\renewenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \columnseprule \z@ + \columnsep 35\p@ + \twocolumn[\@makeschapterhead{\indexname}]% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} + \if@titlepage + \renewcommand\maketitle{\begin{titlepage}% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + \null\vfil + \vskip 60\p@ + \begin{center}% + {\LARGE \@title \par}% + \vskip 3em% + {\large + \lineskip .75em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1.5em% + {\large \@date \par}% % Set date in \large size. + \end{center}\par + \@thanks + \vfil\null + \end{titlepage}% + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\else +\renewcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote}% + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{% + \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{plain}\@thanks + \endgroup + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\LTRthanks\relax + \global\let\RTLthanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\def\@maketitle{% + \newpage + \null + \vskip 2em% + \begin{center}% + \let \footnote \thanks + \let \LTRfootnote \LTRthanks + \let \RTLfootnote \RTLthanks + {\LARGE \@title \par}% + \vskip 1.5em% + {\large + \lineskip .5em% + \begin{tabular}[t]{c}% + \@author + \end{tabular}\par}% + \vskip 1em% + {\large \@date}% + \end{center}% + \par + \vskip 1.5em} +\fi +\renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \setlength\@tempdima{3em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \if@RTL\leftskip\else\rightskip\fi \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima + \hskip -\if@RTL\rightskip\else\leftskip\fi + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\renewcommand\left@footnoterule{% + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\renewcommand\right@footnoterule{% + \kern-3\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand\theequation + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@equation} +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@figure} +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter\@SepMark\fi \@arabic\c@table} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter\@SepMark\@arabic\c@section} +\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} +\def\@makechapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi \normalfont + \ifnum \c@secnumdepth >\m@ne + \huge\bfseries \@chapapp\space \thechapter + \par\nobreak + \vskip 20\p@ + \fi + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\def\@makeschapterhead#1{% + \vspace*{50\p@}% + {\parindent \z@ \if@RTL\raggedleft\else\raggedright\fi + \normalfont + \interlinepenalty\@M + \Huge \bfseries #1\par\nobreak + \vskip 40\p@ + }} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \iffalse +%</report-xetex-bidi.def> +%<*rotating-xetex-bidi.def> +%\fi +% \section{File \texttt{rotating-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{rotating-xetex-bidi.def}[2013/05/22 v0.2 bidi adaptations for rotating package for XeTeX engine] +\def\end@rotfloat{% + \end{minipage}\end{lrbox}% + \stepcounter{r@tfl@t}% + \rot@label{RF\ther@tfl@t}% + \rot@pageref{RF\ther@tfl@t}{\R@@page}% + \edef\@tempa{Adding sideways \@captype\space on page \R@@page\space} + \rot@mess@toks\expandafter{\@tempa} + \wd\rot@float@box\z@ + \ht\rot@float@box\z@ + \dp\rot@float@box\z@ + \vboxL to \textheight{% + \setkeys{Grot}{units=360}% + \if@rot@twoside + \else + \let\R@@page\rot@LR + \fi + \ifthenelse{\isodd{\R@@page}}{% + \if@rot@twoside + \rot@mess@toks\expandafter{\the\rot@mess@toks (right hand page)}% + \fi + \vfill + \@@line{% + \hskip\rotFPtop + \rotatebox{90}{\box\rot@float@box}% + \hskip\rotFPbot + }% + }{% + \if@rot@twoside + \rot@mess@toks\expandafter{\the\rot@mess@toks (left hand page)}% + \fi + \@@line{% + \hskip\rotFPbot + \rotatebox{-90}{\box\rot@float@box}% + \hskip\rotFPtop + }% + \vfill + }% + \rot@message{\the\rot@mess@toks} + }% + \end@float +} +\let\endsidewaysfigure\end@rotfloat +\let\endsidewaystable\end@rotfloat +\def\end@rotdblfloat{% + \end{minipage}\end{lrbox}% + \stepcounter{r@tfl@t}% + \rot@label{RF\ther@tfl@t}% + \rot@pageref{RF\ther@tfl@t}{\R@@page}% + \edef\@tempa{Adding sideways \@captype\space on page \R@@page\space} + \rot@mess@toks\expandafter{\@tempa} + \@tempdima\ht\rot@float@box + \advance\@tempdima by \dp\rot@float@box + \wd\rot@float@box\z@ + \ht\rot@float@box\z@ + \dp\rot@float@box\z@ + \vboxL to \textheight{% + \setkeys{Grot}{units=360}% + \if@rot@twoside + \else + \let\R@@page\rot@LR + \fi + \ifthenelse{\isodd{\R@@page}}{% + \ifrot@messages + \if@rot@twoside + \rot@mess@toks\expandafter{\the\rot@mess@toks (right hand page)}% +\fi + \fi + \vfill + \@@line{% + \hskip\rotFPtop + \rotatebox{90}{\box\rot@float@box}% + \hskip\rotFPbot + }% + }{% + \ifrot@messages + \if@rot@twoside + \rot@mess@toks\expandafter{\the\rot@mess@toks (left hand page)}% +\fi + \fi% + \@@line{% + \hskip\rotFPbot + \rotatebox{-90}{\box\rot@float@box}% + \hskip\rotFPtop + }% + \vfill + }% + \rot@message{\the\rot@mess@toks}% + }% + \end@dblfloat +} +\def\turn#1{% + \Grot@setangle{#1}% + \setbox\z@\color@hbox\ifmmode\if@RTL\beginR\fi\else\if@RTL\beginR\fi\fi\ignorespaces} +\def\endturn{% + \ifmmode\if@RTL\endR\fi\else\if@RTL\endR\fi\fi + \unskip\color@endbox + \Grot@x\z@ + \Grot@y\z@ + \ifmmode\else\if@RTL\beginL\fi\fi\Grot@box\ifmmode\else\if@RTL\endL\fi\fi +} +\def\rotate#1{% + \Grot@setangle{#1}% + \setbox\z@\color@hbox\ifmmode\if@RTL\beginR\fi\else\if@RTL\beginR\fi\fi\ignorespaces} +\def\endrotate{% + \ifmmode\if@RTL\endR\fi\else\if@RTL\endR\fi\fi + \unskip\color@endbox + \Grot@x\z@ + \Grot@y\z@ + \wd0\z@\dp0\z@\ht0\z@ + \ifmmode\else\if@RTL\beginL\fi\fi\Grot@box\ifmmode\else\if@RTL\endL\fi\fi +} +\def\turnbox#1#2{% + \Grot@setangle{#1}% + \setbox\z@\hbox{{\ifmmode\if@RTL\beginR\fi\else\if@RTL\beginR\fi\fi#2\ifmmode\if@RTL\endR\fi\else\if@RTL\endR\fi\fi}}% + \Grot@x\z@\Grot@y\z@ + \wd0\z@\dp0\z@\ht0\z@ + \ifmmode\else\if@RTL\beginL\fi\fi\Grot@box\ifmmode\else\if@RTL\endL\fi\fi +} +\def\sideways{% + \Grot@setangle{90}% + \setbox\z@\color@hbox\ifmmode\if@RTL\beginR\fi\else\if@RTL\beginR\fi\fi\ignorespaces} +\def\endsideways{% + \ifmmode\if@RTL\endR\fi\else\if@RTL\endR\fi\fi + \unskip\color@endbox + \Grot@x\z@ + \Grot@y\z@ + \ifmmode\else\if@RTL\beginL\fi\fi\Grot@box\ifmmode\else\if@RTL\endL\fi\fi +} +% \end{macrocode} +% \iffalse +%</rotating-xetex-bidi.def> +%<*scrartcl-xetex-bidi.def> +%\fi +% \section{File \texttt{scrartcl-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{scrartcl-xetex-bidi.def}[2017/06/09 v1.1 bidi adaptations for scrartcl class for XeTeX engine] +\newcommand{\scr@saved@LTRfootnotetext}{} +\newcommand{\scr@saved@RTLfootnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\let\scr@saved@LTRfootnotetext\@LTRfootnotetext +\let\scr@saved@RTLfootnotetext\@RTLfootnotetext +\renewcommand{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@LTRfootnotetext}[1]{% + \scr@saved@LTRfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@RTLfootnotetext}[1]{% + \scr@saved@RTLfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2}% + \if@RTL\parshape \@ne 0pt \@tempdima\else\parshape \@ne #2 \@tempdima\fi}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1}% + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2}% + \if@RTL\parshape \tw@ 0pt \@tempdima 0pt \@tempdimb\else\parshape \tw@ #1 \@tempdima #2 \@tempdimb\fi + }% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + }% + \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% +} +\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} +\renewcommand*\left@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}% + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\ftn@rule@width\relax \leavevmode\leaders\hrule\@height\ftn@rule@height\hfill\kern\z@}}}% + \kern 2.6\p@} +\renewcommand*\maketitle[1][1]{% + \if@titlepage + \begin{titlepage} + \setcounter{page}{% + #1% + }% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoubleemptypage + \thispagestyle{empty}% + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth}% + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\subject@font \@subject \par}% + \vskip 3em + \fi + {\titlefont\huge \@title\par}% + \vskip 1em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 2em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1.5em + {\Large \@date \par}% + \vskip \z@ \@plus3fill + {\Large \@publishers \par}% + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par}% + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoubleemptypage \fi + \fi + \end{titlepage} + \else + \par + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else + \ClassWarning{\KOMAClassName}{% + Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode% + }% + \fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \fi + \setcounter{footnote}{0}% + \let\thanks\relax + \let\LTRthanks\relax + \let\RTLthanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax +}% +\renewcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\subject@font \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip .5em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 1em + {\Large + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em +}% +\def\raggedsection{\if@RTL\raggedleft\else\raggedright\fi} +\def\raggedpart{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*\autodot{\if@altsecnumformat\@SepMark\fi} +\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 +} +\renewenvironment{thebibliography}[1]{% + \if@bib@break@ + \bib@beginhook + \else + \bib@heading + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \noindent\bibpreamble\par\nobreak + \fi\fi + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{% + \@biblabel{\@arabic\c@enumiv}% + }{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy\clubpenalty4000 \widowpenalty4000 + \sfcode`\.=\@m +}{% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi + \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand*{\raggeddictum}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand*{\raggeddictumtext}{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*{\raggeddictumauthor}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand\marginline[1]{% + \marginpar[\if@RTL\raggedright\else\raggedleft\fi{#1}]{\if@RTL\raggedleft\else\raggedright\fi #1}% +} +\renewcommand{\@@makecaption}[3]{% + \cap@margin + \ifonelinecaptions + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \let\scr@tmp@LTRfootnotetext=\@LTRfootnotetext + \let\@LTRfootnotetext=\@gobble + \let\scr@tmp@RTLfootnotetext=\@RTLfootnotetext + \let\@RTLfootnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}% + #3\unskip\strut}}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \let\@LTRfootnotetext=\scr@tmp@LTRfootnotetext + \let\scr@tmp@LTRfootnotetext=\undefined + \let\@RTLfootnotetext=\scr@tmp@RTLfootnotetext + \let\scr@tmp@RTLfootnotetext=\undefined + \setcounter{footnote}{\@tempcntb}% + \setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima + \hb@xt@\hsize{% + \setbox\@tempboxa\vbox{\hsize=\cap@width + \ifdofullc@p + {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}}% + {#3\unskip\strut\par}}}% + \else% + \ifdim\cap@indent<\z@ + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% + \else% + \if@capbreak + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% + \else + {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% + {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + \fi + \fi + \fi + }% + \setlength{\@tempdima}{\ht\@tempboxa}% + \addtolength{\@tempdima}{\dp\@tempboxa}% + \addtolength{\@tempdima}{-\ht\strutbox}% + \ht\@tempboxa\ht\strutbox + \dp\@tempboxa\@tempdima + \strut\cap@left + \box\@tempboxa + \cap@right\strut + }% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}% + #3}}% + }% + {\capfont{\hb@xt@\hsize{\strut\cap@left\if@RTL\beginR\fi\box\@tempboxa\if@RTL\endR\fi\cap@right\strut}}}% + \fi + \endgroup +} +\renewcommand{\@makecaption}[2]{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi +} +\bidi@AfterFile{longtable-xetex-bidi.def}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse + \scr@caption@before@longtable@warning{caption2}% + }{}% + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \renewcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array + }% + \ClassInfo{\KOMAClassName}{% + longtable captions redefined% + }% + \fi +} + +\CloneTOCEntryStyle{tocline}{part} +\TOCEntryStyleStartInitCode{part}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\hfill}% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\usekomafont{partentry}{##1}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + \usekomafont{partentry}{\usekomafont{partentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{section} +\TOCEntryStyleStartInitCode{section}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{% + \if@sectionentrywithdots + \TOCLineLeaderFill\relax + \else + \hfill + \fi + }% + % F^^fcr die Eintr^^e4ge die Schrift von Element sectionentry verwenden. + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname{\usekomafont{sectionentry}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{\usekomafont{sectionentry}{\usekomafont{sectionentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{subsection} +\TOCEntryStyleStartInitCode{subsection}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}% +} + +\CloneTOCEntryStyle{subsection}{default} + +\DeclareSectionCommand[% + style=part,% + level=\z@,% + tocstyle=part,% + toclevel=\m@ne,% + tocindent=\z@,% + tocnumwidth=2em% +]{part} +\DeclareSectionCommand[% + style=section,% + level=1,% + indent=\z@,% + beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,% + afterskip=2.3ex \@plus.2ex,% + tocstyle=section,% + tocindent=0pt,% + tocnumwidth=1.5em% +]{section} +\DeclareSectionCommand[% + style=section,% + level=2,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=subsection,% + tocindent=1.5em,% + tocnumwidth=2.3em% +]{subsection} +\DeclareSectionCommand[% + style=section,% + level=3,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=subsection,% + tocindent=3.8em,% + tocnumwidth=3.2em% +]{subsubsection} +\DeclareSectionCommand[% + style=section,% + level=4,% + indent=\z@,% + beforeskip=3.25ex \@plus1ex \@minus.2ex,% + afterskip=-1em,% + tocstyle=subsection,% + tocindent=7.0em,% + tocnumwidth=4.1em% +]{paragraph} +\DeclareSectionCommand[% + style=section,% + level=5,% + indent=\scr@parindent,% + beforeskip=3.25ex \@plus1ex \@minus .2ex,% + afterskip=-1em,% + tocstyle=subsection,% + tocindent=10em,% + tocnumwidth=5em% +]{subparagraph} +% \end{macrocode} +% \iffalse +%</scrartcl-xetex-bidi.def> +%<*scrbook-xetex-bidi.def> +%\fi +% \section{File \texttt{scrbook-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{scrbook-xetex-bidi.def}[2017/06/09 v1.1 bidi adaptations for scrbook class for XeTeX engine] +\newcommand{\scr@saved@LTRfootnotetext}{} +\newcommand{\scr@saved@RTLfootnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\let\scr@saved@LTRfootnotetext\@LTRfootnotetext +\let\scr@saved@RTLfootnotetext\@RTLfootnotetext +\renewcommand{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@LTRfootnotetext}[1]{% + \scr@saved@LTRfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@RTLfootnotetext}[1]{% + \scr@saved@RTLfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2}% + \if@RTL\parshape \@ne 0pt \@tempdima\else\parshape \@ne #2 \@tempdima\fi}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1}% + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2}% + \if@RTL\parshape \tw@ 0pt \@tempdima 0pt \@tempdimb\else\parshape \tw@ #1 \@tempdima #2 \@tempdimb\fi + }% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + }% + \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% +} +\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} +\renewcommand*\left@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}% + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\ftn@rule@width\relax \leavevmode\leaders\hrule\@height\ftn@rule@height\hfill\kern\z@}}}% + \kern 2.6\p@} +\renewcommand*\maketitle[1][1]{% + \if@titlepage + \begin{titlepage} + \setcounter{page}{% + #1% + }% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoubleemptypage + \thispagestyle{empty}% + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth}% + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\subject@font \@subject \par}% + \vskip 3em + \fi + {\titlefont\huge \@title\par}% + \vskip 1em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 2em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1.5em + {\Large \@date \par}% + \vskip \z@ \@plus3fill + {\Large \@publishers \par}% + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par}% + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoubleemptypage \fi + \fi + \end{titlepage} + \else + \par + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else + \ClassWarning{\KOMAClassName}{% + Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode% + }% + \fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \fi + \setcounter{footnote}{0}% + \let\thanks\relax + \let\LTRthanks\relax + \let\RTLthanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax +}% +\renewcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\subject@font \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip .5em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 1em + {\Large + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em +}% +\def\raggedsection{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*\autodot{\if@altsecnumformat\@SepMark\fi} +\renewcommand*\thesection{% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.97d}\relax + \if@mainmatter\thechapter\@SepMark\fi + \else + \thechapter\@SepMark% + \fi + \@arabic\c@section +} +\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*\thefigure{% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.97d}\relax + \if@mainmatter\thechapter\@SepMark\fi + \else + \thechapter\@SepMark% + \fi + \@arabic\c@figure +} +\renewcommand*\thetable{% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.97d}\relax + \if@mainmatter\thechapter\@SepMark\fi + \else + \thechapter\@SepMark% + \fi + \@arabic\c@table +} +\renewcommand*\theequation{% + \ifnum \scr@compatibility>\@nameuse{scr@v@2.97d}\relax + \if@mainmatter\thechapter\@SepMark\fi + \else + \thechapter\@SepMark% + \fi + \@arabic\c@equation +} +\renewenvironment{thebibliography}[1]{% + \if@bib@break@ + \bib@beginhook + \else + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{% + \@biblabel{\@arabic\c@enumiv}% + }{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy\clubpenalty4000 \widowpenalty4000 + \sfcode`\.=\@m +}{% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi + \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand*{\raggeddictum}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand*{\raggeddictumtext}{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*{\raggeddictumauthor}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand\marginline[1]{% + \marginpar[\if@RTL\raggedright\else\raggedleft\fi{#1}]{\if@RTL\raggedleft\else\raggedright\fi #1}% +} +\renewcommand{\@@makecaption}[3]{% + \cap@margin + \ifonelinecaptions + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \let\scr@tmp@LTRfootnotetext=\@LTRfootnotetext + \let\@LTRfootnotetext=\@gobble + \let\scr@tmp@RTLfootnotetext=\@RTLfootnotetext + \let\@RTLfootnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}% + #3\unskip\strut}}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \let\@LTRfootnotetext=\scr@tmp@LTRfootnotetext + \let\scr@tmp@LTRfootnotetext=\undefined + \let\@RTLfootnotetext=\scr@tmp@RTLfootnotetext + \let\scr@tmp@RTLfootnotetext=\undefined + \setcounter{footnote}{\@tempcntb}% + \setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima + \hb@xt@\hsize{% + \setbox\@tempboxa\vbox{\hsize=\cap@width + \ifdofullc@p + {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}}% + {#3\unskip\strut\par}}}% + \else% + \ifdim\cap@indent<\z@ + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% + \else% + \if@capbreak + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% + \else + {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% + {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + \fi + \fi + \fi + }% + \setlength{\@tempdima}{\ht\@tempboxa}% + \addtolength{\@tempdima}{\dp\@tempboxa}% + \addtolength{\@tempdima}{-\ht\strutbox}% + \ht\@tempboxa\ht\strutbox + \dp\@tempboxa\@tempdima + \strut\cap@left + \box\@tempboxa + \cap@right\strut + }% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}% + #3}}% + }% + {\capfont{\hb@xt@\hsize{\strut\cap@left\if@RTL\beginR\fi\box\@tempboxa\if@RTL\endR\fi\cap@right\strut}}}% + \fi + \endgroup +} +\renewcommand{\@makecaption}[2]{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi +} +\bidi@AfterFile{longtable-xetex-bidi.def}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse + \scr@caption@before@longtable@warning{caption2}% + }{}% + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \renewcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array + }% + \ClassInfo{\KOMAClassName}{% + longtable captions redefined% + }% + \fi +} + +\CloneTOCEntryStyle{tocline}{part} +\TOCEntryStyleStartInitCode{part}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\hfill}% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\usekomafont{partentry}{##1}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + \usekomafont{partentry}{\usekomafont{partentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{chapter} +\TOCEntryStyleStartInitCode{chapter}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{% + \if@chapterentrywithdots + \TOCLineLeaderFill\relax + \else + \hfill + \fi + }% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname{\usekomafont{chapterentry}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + \usekomafont{chapterentry}{\usekomafont{chapterentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{section} +\TOCEntryStyleStartInitCode{section}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}% +} + +\CloneTOCEntryStyle{section}{default} + +\DeclareSectionCommand[% + style=part,% + level=\m@ne,% + pagestyle=plain,% + tocstyle=part,% + toclevel=\m@ne,% + tocindent=\z@,% + tocnumwidth=2em% +]{part} +\DeclareSectionCommand[% + style=chapter,% + level=\z@,% + pagestyle=plain,% + tocstyle=chapter,% + tocindent=\z@,% + tocnumwidth=1.5em% +]{chapter} +\DeclareSectionCommand[% + style=section,% + level=1,% + indent=\z@,% + beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,% + afterskip=2.3ex \@plus.2ex,% + tocstyle=section,% + tocindent=1.5em,% + tocnumwidth=2.3em% +]{section} +\DeclareSectionCommand[% + style=section,% + level=2,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=section,% + tocindent=3.8em,% + tocnumwidth=3.2em% +]{subsection} +\DeclareSectionCommand[% + style=section,% + level=3,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=section,% + tocindent=7.0em,% + tocnumwidth=4.1em% +]{subsubsection} +\DeclareSectionCommand[% + style=section,% + level=4,% + indent=\z@,% + beforeskip=3.25ex \@plus1ex \@minus.2ex,% + afterskip=-1em,% + tocstyle=section,% + tocindent=10em,% + tocnumwidth=5em% +]{paragraph} +\DeclareSectionCommand[% + style=section,% + level=5,% + indent=\scr@parindent,% + beforeskip=3.25ex \@plus1ex \@minus .2ex,% + afterskip=-1em,% + tocstyle=section,% + tocindent=12em,% + tocnumwidth=6em% +]{subparagraph} + + +% \end{macrocode} +% \iffalse +%</scrbook-xetex-bidi.def> +%<*scrlettr-xetex-bidi.def> +%\fi +% \section{File \texttt{scrlettr-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{scrlettr-xetex-bidi.def}[2015/11/14 v0.3 bidi adaptations for scrlettr class for XeTeX engine] +\renewcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \edef\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2} + \if@RTL\parshape \@ne 0pt \@tempdima\else\parshape \@ne #2 \@tempdima\fi}% + \else + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1} + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2} + \if@RTL\parshape \tw@ 0pt \@tempdima 0pt \@tempdimb\else\parshape \tw@ #1 \@tempdima #2 \@tempdimb\fi}% + \fi + \par + \parindent #3\noindent + \hbox to \z@{\hss\@@makefnmark}##1} + \def\@@makefnmark{\hbox{#4}} +} +\deffootnote[1em]{1.5em}{1em} + {\textsuperscript{\thefootnotemark}} +\def\left@footnoterule{\kern-1\p@ + \hrule width 0.4\columnwidth + \kern .6\p@} +\def\right@footnoterule{% + \kern-1\p@ + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern .6\p@} +\def\@datefield{\@reffalse + \ifx\varyourref\@empty \else \@reftrue \fi + \ifx\varyourmail\@empty \else \@reftrue \fi + \ifx\varmyref\@empty \else \@reftrue \fi + \ifx\varcustomer\@empty \else \@reftrue \fi + \ifx\varinvoice\@empty \else \@reftrue \fi + \ifx\varrefitemi\@empty \else \@reftrue \fi + \ifx\varrefitemii\@empty \else \@reftrue \fi + \ifx\varrefitemiii\@empty \else \@reftrue \fi + \vskip -\parskip + \vskip \refvskip + \if@ref + \ifx\varyourref\@empty \else + \settowidth{\sc@temp}{\varyourref} + \setbox0\hbox{\scriptsize \sf \yourrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourref}\hfill + \fi + \ifx\varyourmail\@empty \else + \settowidth{\sc@temp}{\varyourmail} + \setbox0\hbox{\scriptsize \sf \yourmailname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varyourmail}\hfill + \fi + \ifx\varmyref\@empty \else + \settowidth{\sc@temp}{\varmyref} + \setbox0\hbox{\scriptsize \sf \myrefname} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varmyref}\hfill + \fi + \ifx\varcustomer\@empty \else + \settowidth{\sc@temp}{\varcustomer} + \setbox0\hbox{\scriptsize \sf \customername} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varcustomer}\hfill + \fi + \ifx\varinvoice\@empty \else + \settowidth{\sc@temp}{\varinvoice} + \setbox0\hbox{\scriptsize \sf \invoicename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varinvoice}\hfill + \fi + \ifx\varrefitemi\@empty \else + \settowidth{\sc@temp}{\varrefitemi} + \setbox0\hbox{\scriptsize \sf \varrefitemnamei} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemi}\hfill + \fi + \ifx\varrefitemii\@empty \else + \settowidth{\sc@temp}{\varrefitemii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemii}\hfill + \fi + \ifx\varrefitemiii\@empty \else + \settowidth{\sc@temp}{\varrefitemiii} + \setbox0\hbox{\scriptsize \sf \varrefitemnameiii} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \varrefitemiii}\hfill + \fi + \ifx\@date\@empty \else + \settowidth{\sc@temp}{\@date} + \setbox0\hbox{\scriptsize \sf \datename} + \ifdim \sc@temp > \wd0 \sc@@temp\sc@temp \else \sc@@temp\wd0 \fi + \parbox[t]{\sc@@temp}{\noindent \box0\par \@date} + \fi + \par + \vspace{2.5\baselineskip} + \else + {\ifx\@date\@empty \else \if@RTL\raggedright\else\raggedleft\fi\fromplace\ \@date\par \fi} + \vspace{1.5\baselineskip} + \fi} +\long\def\closing#1{\par\nobreak\vspace{0.5\baselineskip} + \stopbreaks \noindent \sc@temp\textwidth \advance\sc@temp by + -\sigindent \hspace{\sigindent}% + \parbox{\sc@temp}{\if@RTL\raggedleft\else\raggedright\fi\ignorespaces #1\mbox{}\\[\presig@skip] + \fromsig\strut}\par + \vspace{1.5\baselineskip}} +% \end{macrocode} +% \iffalse +%</scrlettr-xetex-bidi.def> +%<*scrreprt-xetex-bidi.def> +%\fi +% \section{File \texttt{scrreprt-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{scrreprt-xetex-bidi.def}[2017/06/09 v1.1 bidi adaptations for scrreprt class for XeTeX engine] +\newcommand{\scr@saved@LTRfootnotetext}{} +\newcommand{\scr@saved@RTLfootnotetext}{} +\let\scr@saved@footnotetext\@footnotetext +\let\scr@saved@LTRfootnotetext\@LTRfootnotetext +\let\scr@saved@RTLfootnotetext\@RTLfootnotetext +\renewcommand{\@footnotetext}[1]{% + \scr@saved@footnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@LTRfootnotetext}[1]{% + \scr@saved@LTRfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand{\@RTLfootnotetext}[1]{% + \scr@saved@RTLfootnotetext{#1}% + \csname FN@mf@prepare\endcsname +} +\renewcommand\deffootnote[4][]{% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2}% + \if@RTL\parshape \@ne 0pt \@tempdima\else\parshape \@ne #2 \@tempdima\fi}% + \else + \addtolength{\@tempdimc}{#2}% + \addtolength{\@tempdimc}{-#1}% + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#1}% + \@tempdimb = \hsize + \addtolength{\@tempdimb}{-#2}% + \if@RTL\parshape \tw@ 0pt \@tempdima 0pt \@tempdimb\else\parshape \tw@ #1 \@tempdima #2 \@tempdimb\fi + }% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + }% + \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% +} +\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} +\renewcommand*\left@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hrule \@height\ftn@rule@height \@width\ftn@rule@width}}% + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \normalsize\ftn@rule@test@values + \kern-\dimexpr 2.6\p@+\ftn@rule@height\relax + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + {\usekomafont{footnoterule}{% + \hbox to \columnwidth{\hskip \dimexpr\columnwidth-\ftn@rule@width\relax \leavevmode\leaders\hrule\@height\ftn@rule@height\hfill\kern\z@}}}% + \kern 2.6\p@} +\renewcommand*\maketitle[1][1]{% + \if@titlepage + \begin{titlepage} + \setcounter{page}{% + #1% + }% + \let\footnotesize\small + \let\right@footnoterule\relax + \let\left@footnoterule\relax + \let\textwidth@footnoterule\relax + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \ifx\@extratitle\@empty \else + \noindent\@extratitle\next@tpage\cleardoubleemptypage + \thispagestyle{empty}% + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth}% + \@titlehead + \end{minipage}\par + \fi + \null\vfill + \begin{center} + \ifx\@subject\@empty \else + {\subject@font \@subject \par}% + \vskip 3em + \fi + {\titlefont\huge \@title\par}% + \vskip 1em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 2em + {\Large \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1.5em + {\Large \@date \par}% + \vskip \z@ \@plus3fill + {\Large \@publishers \par}% + \vskip 3em + \end{center}\par + \@thanks + \vfill\null + \if@twoside\next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage} + \fi + \ifx\@dedication\@empty \else + \next@tpage\null\vfill + {\centering \Large \@dedication \par}% + \vskip \z@ \@plus3fill + \if@twoside \next@tpage\cleardoubleemptypage \fi + \fi + \end{titlepage} + \else + \par + \@tempcnta=% + #1% + \relax\ifnum\@tempcnta=1\else + \ClassWarning{\KOMAClassName}{% + Optional argument of \string\maketitle\space ignored + at\MessageBreak + notitlepage-mode% + }% + \fi + \begingroup + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle]% + \fi + \else + \newpage + \global\@topnum\z@ + \@maketitle + \fi + \thispagestyle{\titlepagestyle}\@thanks + \endgroup + \fi + \setcounter{footnote}{0}% + \let\thanks\relax + \let\LTRthanks\relax + \let\RTLthanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\and\relax +}% +\renewcommand*{\@maketitle}{% + \clearpage + \let\footnote\thanks + \let\LTRfootnote\LTRthanks + \let\RTLfootnote\RTLthanks + \ifx\@extratitle\@empty \else + \noindent\@extratitle \next@tpage \if@twoside \null\next@tpage \fi + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \ifx\@titlehead\@empty \else + \begin{minipage}[t]{\textwidth} + \@titlehead + \end{minipage}\par + \fi + \null + \vskip 2em% + \begin{center}% + \ifx\@subject\@empty \else + {\subject@font \@subject \par} + \vskip 1.5em + \fi + {\titlefont\huge \@title \par}% + \vskip .5em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + \vskip 1em + {\Large + \lineskip .5em% + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% + \vskip 1em% + {\Large \@date \par}% + \vskip \z@ \@plus 1em + {\Large \@publishers \par} + \ifx\@dedication\@empty \else + \vskip 2em + {\Large \@dedication \par} + \fi + \end{center}% + \par + \vskip 2em +}% +\def\raggedsection{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*\autodot{\if@altsecnumformat\@SepMark\fi} +\renewcommand*\thesection{% + \thechapter\@SepMark% + \@arabic\c@section +} +\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*\thefigure{% + \thechapter\@SepMark% + \@arabic\c@figure +} +\renewcommand*\thetable{% + \thechapter\@SepMark% + \@arabic\c@table +} +\renewcommand*\theequation{% + \thechapter\@SepMark% + \@arabic\c@equation +} +\renewenvironment{thebibliography}[1]{% + \if@bib@break@ + \bib@beginhook + \else + \ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty\else + \setchapterpreamble{\bibpreamble}% + \fi\fi + \bib@heading + \bib@beginhook + \bib@before@hook + \fi + \renewcommand{\BreakBibliography}[1]{% + \@bib@break + \end{thebibliography}% + \begingroup ##1\endgroup + \begin{thebibliography}{#1} + }% + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{% + \@biblabel{\@arabic\c@enumiv}% + }{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \if@bib@break@ + \edef\@tempa{% + \noexpand\usecounter{enumiv}% + \noexpand\setcounter{enumiv}{\the\c@enumiv}% + }\@tempa + \no@bib@break + \else + \usecounter{enumiv}% + \fi + \let\p@enumiv\@empty + \renewcommand*\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy\clubpenalty4000 \widowpenalty4000 + \sfcode`\.=\@m +}{% + \if@bib@break@ + \def\@noitemerr{% + \@latex@warning{% + \string\BreakBibliography\space at begin of `thebibliography' + environment\MessageBreak + or following \string\BreakBibliography}% + }% + \else + \def\@noitemerr{% + \@latex@warning{% + Empty `thebibliography' environment or + \string\BreakBibliography\MessageBreak + before end of `thebibliography' environment}% + }% + \fi + \endlist + \if@bib@break@ + \else + \bib@after@hook + \let\bib@before@hook\@empty + \let\bib@after@hook\@empty + \fi + \bib@endhook +} +\renewcommand*\left@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hrule\@width.4\columnwidth + \kern 2.6\p@} +\renewcommand*\right@footnoterule{% + \kern-3\p@ + \ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi + \hbox to \columnwidth{\hskip .6\columnwidth \hrulefill } + \kern2.6\p@} +\renewcommand*{\raggeddictum}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand*{\raggeddictumtext}{\if@RTL\raggedleft\else\raggedright\fi} +\renewcommand*{\raggeddictumauthor}{\if@RTL\raggedright\else\raggedleft\fi} +\renewcommand\marginline[1]{% + \marginpar[\if@RTL\raggedright\else\raggedleft\fi{#1}]{\if@RTL\raggedleft\else\raggedright\fi #1}% +} +\renewcommand{\@@makecaption}[3]{% + \cap@margin + \ifonelinecaptions + \@tempcnta=\value{mpfootnote}\@tempcntb=\value{footnote}% + \let\scr@tmp@footnotetext=\@footnotetext + \let\@footnotetext=\@gobble + \let\scr@tmp@LTRfootnotetext=\@LTRfootnotetext + \let\@LTRfootnotetext=\@gobble + \let\scr@tmp@RTLfootnotetext=\@RTLfootnotetext + \let\@RTLfootnotetext=\@gobble + \sbox\@tempboxa{% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}% + #3\unskip\strut}}% + }% + \let\@footnotetext=\scr@tmp@footnotetext + \let\scr@tmp@footnotetext=\undefined + \let\@LTRfootnotetext=\scr@tmp@LTRfootnotetext + \let\scr@tmp@LTRfootnotetext=\undefined + \let\@RTLfootnotetext=\scr@tmp@RTLfootnotetext + \let\scr@tmp@RTLfootnotetext=\undefined + \setcounter{footnote}{\@tempcntb}% + \setcounter{mpfootnote}{\@tempcnta}% + \else + \sbox\@tempboxa{\hspace*{2\cap@width}}% + \fi + \begingroup% + \setlength{\@tempdima}{\cap@width}% + \ifdim \wd\@tempboxa >\@tempdima + \hb@xt@\hsize{% + \setbox\@tempboxa\vbox{\hsize=\cap@width + \ifdofullc@p + {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}}% + {#3\unskip\strut\par}}}% + \else% + \ifdim\cap@indent<\z@ + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% + \else% + \if@capbreak + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% + \else + {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% + {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% + \fi + \fi + \fi + }% + \setlength{\@tempdima}{\ht\@tempboxa}% + \addtolength{\@tempdima}{\dp\@tempboxa}% + \addtolength{\@tempdima}{-\ht\strutbox}% + \ht\@tempboxa\ht\strutbox + \dp\@tempboxa\@tempdima + \strut\cap@left + \box\@tempboxa + \cap@right\strut + }% + \else + \global \@minipagefalse + \sbox\@tempboxa{% + {\capfont{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}% + #3}}% + }% + {\capfont{\hb@xt@\hsize{\strut\cap@left\if@RTL\beginR\fi\box\@tempboxa\if@RTL\endR\fi\cap@right\strut}}}% + \fi + \endgroup +} +\renewcommand{\@makecaption}[2]{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + \@@makecaption\@firstofone{#1}{#2}% + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi +} +\bidi@AfterFile{longtable-xetex-bidi.def}{% + \@ifpackageloaded{caption2}{\@komalongtablefalse + \scr@caption@before@longtable@warning{caption2}% + }{}% + \if@komalongtable + \renewcommand{\LT@makecaption}[3]{% + \noalign{% + \if@captionabove + \vskip\belowcaptionskip + \else + \vskip\abovecaptionskip + \fi + }% + \LT@mcol\LT@cols c{% + \hbox to\z@{\hss\parbox[t]\linewidth{% + \@@makecaption{#1}{#2}{#3}% + \endgraf + \if@captionabove + \vskip\abovecaptionskip + \else + \vskip\belowcaptionskip + \fi + }% + \hss + }% + }% + }% + \renewcommand*{\scr@LT@array}{}% + \let\scr@LT@array=\LT@array + \renewcommand*{\LT@array}{% + \let\scr@caption=\LT@caption + \def\captionabove{\noalign{\global\@captionabovetrue}% + \scr@caption}% + \def\captionbelow{\noalign{\global\@captionabovefalse}% + \scr@caption}% + \if@tablecaptionabove + \let\LT@caption=\captionabove + \else + \let\LT@caption=\captionbelow + \fi + \scr@LT@array + }% + \ClassInfo{\KOMAClassName}{% + longtable captions redefined% + }% + \fi +} + +\CloneTOCEntryStyle{tocline}{part} +\TOCEntryStyleStartInitCode{part}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\hfill}% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\usekomafont{partentry}{##1}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + \usekomafont{partentry}{\usekomafont{partentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{2.25em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{chapter} +\TOCEntryStyleStartInitCode{chapter}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{% + \if@chapterentrywithdots + \TOCLineLeaderFill\relax + \else + \hfill + \fi + }% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname{\usekomafont{chapterentry}}% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + \usekomafont{chapterentry}{\usekomafont{chapterentrypagenumber}{##1}}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{1.0em \@plus\p@}% +} + +\CloneTOCEntryStyle{tocline}{section} +\TOCEntryStyleStartInitCode{section}{% + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}% +} + +\CloneTOCEntryStyle{section}{default} + +\DeclareSectionCommand[% + style=part,% + level=\m@ne,% + pagestyle=plain,% + tocstyle=part,% + toclevel=\m@ne,% + tocindent=\z@,% + tocnumwidth=2em% +]{part} +\DeclareSectionCommand[% + style=chapter,% + level=\z@,% + pagestyle=plain,% + tocstyle=chapter,% + tocindent=\z@,% + tocnumwidth=1.5em% +]{chapter} +\DeclareSectionCommand[% + style=section,% + level=1,% + indent=\z@,% + beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,% + afterskip=2.3ex \@plus.2ex,% + tocstyle=section,% + tocindent=1.5em,% + tocnumwidth=2.3em% +]{section} +\DeclareSectionCommand[% + style=section,% + level=2,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=section,% + tocindent=3.8em,% + tocnumwidth=3.2em% +]{subsection} +\DeclareSectionCommand[% + style=section,% + level=3,% + indent=\z@,% + beforeskip=-3.25ex\@plus -1ex \@minus -.2ex,% + afterskip=1.5ex \@plus .2ex,% + tocstyle=section,% + tocindent=7.0em,% + tocnumwidth=4.1em% +]{subsubsection} +\DeclareSectionCommand[% + style=section,% + level=4,% + indent=\z@,% + beforeskip=3.25ex \@plus1ex \@minus.2ex,% + afterskip=-1em,% + tocstyle=section,% + tocindent=10em,% + tocnumwidth=5em% +]{paragraph} +\DeclareSectionCommand[% + style=section,% + level=5,% + indent=\scr@parindent,% + beforeskip=3.25ex \@plus1ex \@minus .2ex,% + afterskip=-1em,% + tocstyle=section,% + tocindent=12em,% + tocnumwidth=6em% +]{subparagraph} + + +% \end{macrocode} +% \iffalse +%</scrreprt-xetex-bidi.def> +%<*sidecap-xetex-bidi.def> +%\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] +\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} +% \end{macrocode} +% \iffalse +%</sidecap-xetex-bidi.def> +%<*soul-xetex-bidi.def> +%\fi +% \section{File \texttt{soul-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{soul-xetex-bidi.def}[2015/10/16 v0.1 bidi adaptations for soul package for XeTeX engine] +\long\def\SOUL@start#1{{% + \let\bidi@RTL@everypar\@empty + \let\<\SOUL@lowerthan + \let\>\empty + \def\soulomit{\noexpand\soulomit}% + \gdef\SOUL@eventuallyexhyphen##1{}% + \let\SOUL@soeventuallyskip\relax + \SOUL@spaceskip=\fontdimen\tw@\font\@plus\fontdimen\thr@@\font + \@minus\fontdimen4\font + \SOUL@ignorespacesfalse + \leavevmode + \SOUL@preamble + \SOUL@lasttoken={}% + \SOUL@word={}% + \SOUL@minus\z@ + \SOUL@comma\z@ + \SOUL@apo\z@ + \SOUL@grave\z@ + \SOUL@do{#1}% + \SOUL@postamble +}} +\def\SOUL@ulunderline#1{{% + \setbox\z@\hbox{#1}% + \dimen@=\wd\z@ + \dimen@i=\SOUL@uloverlap + \advance\dimen@2\dimen@i + \if@RTL + \unhcopy\z@ + \llap{% + \null + \kern-\dimen@i + \SOUL@ulcolor{\SOUL@ulleaders\hskip\dimen@}% + }% + \else + \rlap{% + \null + \kern-\dimen@i + \SOUL@ulcolor{\SOUL@ulleaders\hskip\dimen@}% + }% + \unhcopy\z@ + \fi +}} +\def\bidi@SOUL@ulleaders{% + \leaders\hb@xt@0.1pt{\hss\SOUL@ulcolor{\vrule\@depth\SOUL@uldp\@height\SOUL@ulht}\hss}\relax +} +\def\SOUL@uleveryspace#1{% + \if@RTL + #1% + \bidi@SOUL@ulleaders + \hskip\spaceskip + \else + \SOUL@ulcolor{% + #1% + \SOUL@ulleaders + \hskip\spaceskip + }% + \fi + \null +} +% \end{macrocode} +% \iffalse +%</soul-xetex-bidi.def> +%<*stabular-xetex-bidi.def> +%\fi +% \section{File \texttt{stabular-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{stabular-xetex-bidi.def}[2015/11/07 v0.3 bidi adaptations for stabular package for XeTeX engine] +\def\@stabular{% + \leavevmode \bgroup \if@RTLtab\beginR \fi + \let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@stabarray} +\def\endstabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi + \egroup \if@RTLtab\endR\fi\egroup} +\expandafter \let \csname endstabular*\endcsname = \endstabular +\def\@sarray[#1]#2{% + \bgroup + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@}% + \@mkpream{#2}% + \edef\@preamble{% + \ialign \noexpand\@halignto + \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \let\tabularnewline\\% + \let\@sharp##% + \set@typeset@protect + \lineskip\z@skip\baselineskip\z@skip + \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi + \@preamble} +% \end{macrocode} +% \iffalse +%</stabular-xetex-bidi.def> +%<*subfigure-xetex-bidi.def> +%\fi +% \section{File \texttt{subfigure-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{subfigure-xetex-bidi.def}[2010/03/01 v0.1 bidi adaptations for subfigure package for XeTeX engine] +\AtBeginDocument{% +\let\p@subfigure=\thefigure +\let\p@subtable=\thetable% +} +% \end{macrocode} +% \iffalse +%</subfigure-xetex-bidi.def> +%<*tabls-xetex-bidi.def> +%\fi +% \section{File \texttt{tabls-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tabls-xetex-bidi.def}[2015/11/07 v0.3 bidi adaptations for tabls package for XeTeX engine] +\def\endtabular{\endarray $\if@RTLtab\endR\fi\egroup} + +\expandafter\let\csname endtabular*\endcsname=\endtabular + +\def\endarray{\ifvmode\csname crcr\endcsname % just do \crcr if \\ given + \else \\[\z@ \global\advance\@arstdepth-\@otarlinesep]% + \fi\egroup\if@RTLtab\egroup\endR\egroup\fi\@unrecurse\egroup} + +\def\@array[#1]#2{% remember global variables to allow recursion: + \edef\@unrecurse{\global\@skip@bove\the\@skip@bove + \global\@arstheight\the\@arstheight\global\@arstdepth\the\@arstdepth}% + \let\@otarlinesep\@tarlinesep \global\@skip@bove-\@otarlinesep + \ifx\@classz\@arrayclassz \let\@tarlinesep\arraylinesep + \else \let\@tarlinesep\tablinesep \fi + \divide\@tarlinesep\tw@ % half sep is applied to height & depth + \let\@seesize\relax \let\@rememsize\relax \@mkpream{#2}% + \@tempdima\arraystretch\ht\strutbox \@tempdimb\arraystretch\dp\strutbox + \ifdim\@tarlinesep>\z@ % (need \protect for \multicolumn) + \def\@rememsize{\protect\@r@m@msize}\let\@seesize\@s@@size + \advance\@tempdima-\@tarlinesep \advance\@tempdimb-\@tarlinesep + \fi \setbox\@arstrutbox\hbox{% set up smaller strut + \vrule \@height\@tempdima \@depth\@tempdimb \@width\z@}% + \let\protect\noexpand + \edef\@preamble{\ialign \noexpand\@halignto \bgroup + \unhcopy\@arstrutbox \@preamble \tabskip\z@skip &\@sharp \cr}% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \if#1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup \let\par\@empty + \global\@arstheight\ht\@arstrutbox \global\@arstdepth\dp\@arstrutbox + \advance\extrarulesep.5\arrayrulewidth + \let\@sharp##\let\protect\relax \lineskip\z@skip \baselineskip\z@skip + \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if#1t\vtop \else \vbox \fi\bgroup\fi + \@preamble} +% \end{macrocode} +% \iffalse +%</tabls-xetex-bidi.def> +%<*tabularx-xetex-bidi.def> +%\fi +% \section{File \texttt{tabularx-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tabularx-xetex-bidi.def}[2014/11/08 v0.1 bidi adaptations for tabularx package for XeTeX engine] +\def\TX@endtabularx{% + \expandafter\expandafter\expandafter + \TX@find@endtabularxa\csname end\TX@\endcsname + \endtabularx\TX@\endtabularx\TX@find@endtabularxa + \expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}% + \let\verb\TX@verb + \def\@elt##1{\global\value{##1}\the\value{##1}\relax}% + \edef\TX@ckpt{\cl@@ckpt}% + \let\@elt\relax + \TX@old@table\maxdimen + \TX@col@width\TX@target + \global\TX@cols\@ne + \TX@typeout@ + {\@spaces Table Width\@spaces Column Width\@spaces X Columns}% + \TX@trial{\def\NC@rewrite@X{% + \global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}% + \loop + \TX@arith + \ifTX@ + \TX@trial{}% + \repeat + {\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext + \let\@LTRfootnotetext\TX@LTRftntext\let\@xLTRfootnotenext\TX@xLTRftntext + \let\@RTLfootnotetext\TX@RTLftntext\let\@xRTLfootnotenext\TX@xRTLftntext + \csname tabular*\expandafter\endcsname\expandafter\TX@target + \the\toks@ + \csname endtabular*\endcsname}% + \global\TX@ftn\expandafter{\expandafter}\the\TX@ftn + \ifnum0=`{\fi}% + \expandafter\expandafter\expandafter + \TX@find@endtabularxbb + \expandafter\end\expandafter{\TX@}% + \endtabularx\TX@\endtabularx\TX@find@endtabularxb +} + +\def\TX@trial#1{% + \setbox\@tempboxa\hbox{% + #1\relax + \let\@footnotetext\TX@trial@ftn + \let\@LTRfootnotetext\TX@trial@ftn + \let\@RTLfootnotetext\TX@trial@ftn + \let\TX@vwarn\@empty + \expandafter\let\expandafter\tabularx\csname tabular*\endcsname + \expandafter\let\expandafter\endtabularx\csname endtabular*\endcsname + \def\write{\begingroup + \def\let{\afterassignment\endgroup\toks@}% + \afterassignment\let\count@}% + \hbadness\@M + \hfuzz\maxdimen + \let\hbadness\@tempcnta + \let\hfuzz\@tempdima + \expandafter\tabular\the\toks@ + \endtabular}% + \TX@ckpt + \TX@typeout@{\@spaces + \expandafter\TX@align + \the\wd\@tempboxa\space\space\space\space\space\@@ + \expandafter\TX@align + \the\TX@col@width\space\space\space\space\space\@@ + \@spaces\the\TX@cols}} + +\long\def\TX@LTRftntext#1{% + \edef\@tempa{\the\TX@ftn\noexpand\LTRfootnotetext + [\the\csname c@\@mpfn\endcsname]}% + \global\TX@ftn\expandafter{\@tempa{#1}}}% +\long\def\TX@xLTRftntext[#1]#2{% + \global\TX@ftn\expandafter{\the\TX@ftn\LTRfootnotetext[#1]{#2}}} + +\long\def\TX@RTLftntext#1{% + \edef\@tempa{\the\TX@ftn\noexpand\RTLfootnotetext + [\the\csname c@\@mpfn\endcsname]}% + \global\TX@ftn\expandafter{\@tempa{#1}}}% +\long\def\TX@xRTLftntext[#1]#2{% + \global\TX@ftn\expandafter{\the\TX@ftn\RTLfootnotetext[#1]{#2}}} +% \end{macrocode} +% \iffalse +%</tabularx-xetex-bidi.def> +%<*tabulary-xetex-bidi.def> +%\fi +% \section{File \texttt{tabulary-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tabulary-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for tabulary package for XeTeX engine] +\def\@testpach{\@chclass + \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else + \ifnum \@lastchclass=7 5 \else + \ifnum \@lastchclass=8 \tw@ \else + \ifnum \@lastchclass=9 \thr@@ + \else \z@ + \ifnum \@lastchclass = 10 \else + \edef\@nextchar{\expandafter\string\@nextchar}% + \@chnum + \if \@nextchar c\z@ \else + \if \@nextchar \if@RTLtab r\else l\fi\@ne \else + \if \@nextchar \if@RTLtab l\else r\fi\tw@ \else + \if \@nextchar C7 \else + \if \@nextchar L8 \else + \if \@nextchar R9 \else + \if \@nextchar J10 \else + \z@ \@chclass + \if\@nextchar |\@ne \else + \if \@nextchar !6 \else + \if \@nextchar @7 \else + \if \@nextchar <8 \else + \if \@nextchar >9 \else + 10 + \@chnum + \if \@nextchar m\thr@@\else + \if \@nextchar p4 \else + \if \@nextchar b5 \else + \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi + \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} +% \end{macrocode} +% \iffalse +%</tabulary-xetex-bidi.def> +%<*tc-xetex-bidi.def> +%\fi +% \section{File \texttt{tc-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tc-xetex-bidi.def}[2014/07/08 v0.1 bidi adaptations for Clipping driver for XeTeX engine] +\def\@cliptoboxdim#1{% + \setbox#1=\hbox{% + \Gin@defaultbp\WIDTH{\wd#1}% + \Gin@defaultbp\DEPTH{\dp#1}% + \@tempdima\ht#1% + \advance\@tempdima\dp#1% + \Gin@defaultbp\TOTALHEIGHT{\@tempdima}% + \beginL\special{pdf:bcontent }% + \special{% + pdf:literal direct + 0 -\DEPTH\space \WIDTH\space \TOTALHEIGHT\space re + }% + \special{pdf:literal direct W }% + \special{pdf:literal direct n }% + \if@RTL\beginR\fi\box#1\if@RTL\endR\fi% + \special{pdf:econtent }\endL% + }% +} +% \end{macrocode} +% \iffalse +%</tc-xetex-bidi.def> +%<*tcolorbox-xetex-bidi.def> +%\fi +% \section{File \texttt{tcolorbox-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tcolorbox-xetex-bidi.def}[2018/11/11 v0.2 bidi adaptations for tcolorbox package for XeTeX engine] +\let\endtcb@lrbox=\endminipage +\let\endtcb@savebox=\endtcb@lrbox + +\bidi@patchcmd{\tcb@vbox}{% + \let\@footnotetext\@mpfootnotetext% +}{% + \let\@footnotetext\@mpfootnotetext% + \let\@LTRfootnotetext\@mpLTRfootnotetext% + \let\@RTLfootnotetext\@mpRTLfootnotetext% +}{}{} + +\bidi@patchcmd{\endtcb@vbox}{% + \footnoterule% +}{% + \bidi@mpfootnoterule% +}{}{} +\bidi@apptocmd\tcb@@icolorbox{% + \@bidi@list@minipage@parboxfalse +}{}{} +% \end{macrocode} +% \iffalse +%</tcolorbox-xetex-bidi.def> +%<*titlesec-xetex-bidi.def> +%\fi +% \section{File \texttt{titlesec-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{titlesec-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for titlesec package for XeTeX engine] +\renewcommand\filright{% + \gdef\ttl@filleft##1{\hskip##1}% + \gdef\ttl@filright##1{\hfill}% + \let\\\@centercr + \advance\rightskip\z@ \@plus 1fil +\parfillskip\z@} +\def\ttlh@hang#1#2#3#4#5#6#7#8{% + \gdef\ttl@makeline##1{\ttl@calc\hspace{#6}##1\ttl@calc\hspace{#7}}% + \setlength\leftskip{#6}% + \setlength\rightskip{#7}% + \interlinepenalty\@M + \ttl@changecentercr + \ttl@beginlongest + #1{\ifhmode\ttl@hmode@error\fi + \ttl@glcmds + \parindent\z@ + \leavevmode + \begingroup + \ifttl@label + \sbox\z@{#2\strut\ttl@calc\hspace{#3}}% + \if@RTL\advance\rightskip\wd\z@\else\advance\leftskip\wd\z@\fi + \llap{\box\z@}% + \fi + #4{#8}% + \kern\z@\strut\@@par + \endgroup + \nobreak\ttl@midlongest#5\@@par}% + \ttl@endlongest} +% \end{macrocode} +% \iffalse +%</titlesec-xetex-bidi.def> +%<*titletoc-xetex-bidi.def> +%\fi +% \section{File \texttt{titletoc-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{titletoc-xetex-bidi.def}[2013/04/10 v0.2 bidi adaptations for titletoc package for XeTeX engine] +\renewcommand\filright{% + \gdef\ttl@filleft##1{\hskip##1}% + \gdef\ttl@filright##1{\hfill}% + \let\\\@centercr + \advance\rightskip\z@ \@plus 1fil +\parfillskip\z@} +\renewcommand\contentspush[1]{% + \sbox\z@{#1}% + \xdef\ttl@b{\advance\if@RTL\rightskip\else\leftskip\fi\the\wd\z@}% + \aftergroup\ttl@b + \leavevmode\llap{\box\z@}} +\def\ttl@outnoblock#1#2#3{% + \begingroup + \ifnum\ttl@b>\ttl@a + \nobreak + \else\ifnum\ttl@b<\ttl@a + \addpenalty{\@secpenalty}% + \else + \addpenalty{\z@}% + \fi\fi + \ttl@contentsstretch + \nobreak + \ifcase#1\relax\else\interlinepenalty\@M\fi + \parindent\z@ + \ifx\@nil#2% + \PackageError{titletoc}{Unimplemented}% + {The optional argument is currently mandatory}% + \else + \if@RTL\setlength\rightskip{#2}\else + \setlength\leftskip{#2}\fi% + \fi + \if@RTL\setlength\leftskip{\@pnumwidth}\else\setlength\rightskip{\@pnumwidth}\fi% + \let\contentsmargin\ttl@margin + \def\ttl@makeline##1{##1}% + #3% + \addtolength{\parfillskip}{-\ttl@corr}% + \if@RTL\addtolength{\leftskip}{\ttl@corr}\else\addtolength{\rightskip}{\ttl@corr}\fi% + \let\ttl@leaders\leaders} +\renewcommand\ttl@margin[2][\z@]{% + \def\ttl@corr{#1}% + \advance\if@RTL\leftskip\else\rightskip\fi-\@pnumwidth\relax + \advance\if@RTL\leftskip\else\rightskip\fi#2\relax + \def\@pnumwidth{#2}} +\let\ttl@savel@part\l@part +\def\l@part{\ttl@lselect{part}} + +\let\ttl@savel@chapter\l@chapter +\def\l@chapter{\ttl@lselect{chapter}} +% \end{macrocode} +% \iffalse +%</titletoc-xetex-bidi.def> +%<*tocbibind-xetex-bidi.def> +%\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] +\if@dotocbib + \@ifpackageloaded{natbib}{}{% natbib not loaded + \renewcommand{\bibsection}{\t@cb@bchapsec} + \renewenvironment{thebibliography}[1]{% + \bibsection + \begin{thebibitemlist}{#1}}{\end{thebibitemlist}}} + \renewenvironment{thebibitemlist}[1]{ + \if@RTL\if@LTRbibitems\@RTLfalse\else\fi\else\if@RTLbibitems\@RTLtrue\else\fi\fi + \bidi@@thebibliography@font@hook% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} + + \@ifpackagewith{chapterbib}{sectionbib}% + {\renewcommand{\sectionbib}[2]{}}% + {} + +\fi +\if@inltxdoc\else + \renewenvironment{theindex}% + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \if@bibchapter + \if@donumindex + \refstepcounter{chapter} + \twocolumn[\vspace*{2\topskip}% + \@makechapterhead{\indexname}]% + \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}\indexname} + \chaptermark{\indexname} + \else + \if@dotocind + \twocolumn[\vspace*{2\topskip}% + \@makeschapterhead{\indexname}]% + \prw@mkboth{\indexname} + \addcontentsline{toc}{chapter}{\indexname} + \else + \twocolumn[\vspace*{2\topskip}% + \@makeschapterhead{\indexname}]% + \prw@mkboth{\indexname} + \fi + \fi + \else + \if@donumindex + \twocolumn[\vspace*{-1.5\topskip}% + \@nameuse{\@tocextra}{\indexname}]% + \csname \@tocextra mark\endcsname{\indexname} + \else + \if@dotocind + \twocolumn[\vspace*{-1.5\topskip}% + \toc@headstar{\@tocextra}{\indexname}]% + \prw@mkboth{\indexname} + \addcontentsline{toc}{\@tocextra}{\indexname} + \else + \twocolumn[\vspace*{-1.5\topskip}% + \toc@headstar{\@tocextra}{\indexname}]% + \prw@mkboth{\indexname} + \fi + \fi + \fi + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\fi +% \end{macrocode} +% \iffalse +%</tocbibind-xetex-bidi.def> +%<*tocloft-xetex-bidi.def> +%\fi +% \section{File \texttt{tocloft-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tocloft-xetex-bidi.def}[2010/07/25 v0.2 bidi adaptations for tocloft package for XeTeX engine] +\let\cftdot\@SepMark +\if@cfthaspart +\renewcommand*{\l@part}[2]{ + \@cftdopartfalse + \ifnum \c@tocdepth >-2\relax + \if@cfthaschapter + \@cftdoparttrue + \fi + \ifnum \c@tocdepth >\m@ne + \if@cfthaschapter\else + \@cftdoparttrue + \fi + \fi + \fi + \if@cftdopart + \if@cfthaschapter + \addpenalty{-\@highpenalty} + \else + \addpenalty\@secpenalty + \fi + \addvspace{\cftbeforepartskip} + \begingroup + {\if@RTL\rightskip\else\leftskip\fi \cftpartindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftpartindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftpartnumwidth\relax + \let\@cftbsnum \cftpartpresnum + \let\@cftasnum \cftpartaftersnum + \let\@cftasnumb \cftpartaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftpartfont \cftpartpresnum #1} + \cftpartfillnum{#2}} + \nobreak + \if@cfthaschapter + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}} + \else + \if@compatibility + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}} + \fi + \fi + \endgroup + \fi} +\fi +\if@cfthaschapter +\renewcommand*{\l@chapter}[2]{ + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty} + \vskip \cftbeforechapskip + {\if@RTL\rightskip\else\leftskip\fi \cftchapindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftchapindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftchapnumwidth\relax + \let\@cftbsnum \cftchappresnum + \let\@cftasnum \cftchapaftersnum + \let\@cftasnumb \cftchapaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftchapfont #1}\nobreak + \cftchapfillnum{#2}} + \fi} +\fi +\renewcommand*{\l@section}[2]{% + \ifnum \c@tocdepth >\z@ + \if@cfthaschapter + \vskip \cftbeforesecskip + \else + \addpenalty\@secpenalty + \addvspace{\cftbeforesecskip} + \fi + {\if@RTL\rightskip\else\leftskip\fi \cftsecindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsecindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsecnumwidth\relax + \let\@cftbsnum \cftsecpresnum + \let\@cftasnum \cftsecaftersnum + \let\@cftasnumb \cftsecaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsecfont #1}\nobreak + \cftsecfillnum{#2}} + \fi} +\renewcommand*{\l@subsection}[2]{% + \ifnum \c@tocdepth >\@ne + \vskip \cftbeforesubsecskip + {\if@RTL\rightskip\else\leftskip\fi \cftsubsecindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsubsecindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsubsecnumwidth\relax + \let\@cftbsnum \cftsubsecpresnum + \let\@cftasnum \cftsubsecaftersnum + \let\@cftasnumb \cftsubsecaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsubsecfont #1}\nobreak + \cftsubsecfillnum{#2}} + \fi} +\renewcommand*{\l@subsubsection}[2]{% + \ifnum \c@tocdepth >\tw@ + \vskip \cftbeforesubsubsecskip + {\if@RTL\rightskip\else\leftskip\fi \cftsubsubsecindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsubsubsecindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsubsubsecnumwidth\relax + \let\@cftbsnum \cftsubsubsecpresnum + \let\@cftasnum \cftsubsubsecaftersnum + \let\@cftasnumb \cftsubsubsecaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsubsubsecfont #1}\nobreak + \cftsubsubsecfillnum{#2}} + \fi} +\renewcommand*{\l@paragraph}[2]{% + \ifnum \c@tocdepth >3\relax + \vskip \cftbeforeparaskip + {\if@RTL\rightskip\else\leftskip\fi \cftparaindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftparaindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftparanumwidth\relax + \let\@cftbsnum \cftparapresnum + \let\@cftasnum \cftparaaftersnum + \let\@cftasnumb \cftparaaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftparafont #1}\nobreak + \cftparafillnum{#2}} + \fi} +\renewcommand*{\l@subparagraph}[2]{% + \ifnum \c@tocdepth >4\relax + \vskip \cftbeforesubparaskip + {\if@RTL\rightskip\else\leftskip\fi \cftsubparaindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsubparaindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsubparanumwidth\relax + \let\@cftbsnum \cftsubparapresnum + \let\@cftasnum \cftsubparaaftersnum + \let\@cftasnumb \cftsubparaaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsubparafont #1}\nobreak + \cftsubparafillnum{#2}} + \fi} +\renewcommand*{\l@figure}[2]{% + \ifnum \c@lofdepth >\z@ + \vskip \cftbeforefigskip + {\if@RTL\rightskip\else\leftskip\fi \cftfigindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftfigindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftfignumwidth\relax + \let\@cftbsnum \cftfigpresnum + \let\@cftasnum \cftfigaftersnum + \let\@cftasnumb \cftfigaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftfigfont #1}\nobreak + \cftfigfillnum{#2}} + \fi + } +\renewcommand*{\l@table}[2]{% + \ifnum\c@lotdepth >\z@ + \vskip \cftbeforetabskip + {\if@RTL\rightskip\else\leftskip\fi \cfttabindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cfttabindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cfttabnumwidth\relax + \let\@cftbsnum \cfttabpresnum + \let\@cftasnum \cfttabaftersnum + \let\@cftasnumb \cfttabaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cfttabfont #1}\nobreak + \cfttabfillnum{#2}} + \fi + } +\renewcommand{\@cftl@subfig}{ +\renewcommand*{\l@subfigure}[2]{% + \ifnum \c@lofdepth > \toclevel@subfigure + \vskip \cftbeforesubfigskip + {\if@RTL\rightskip\else\leftskip\fi \cftsubfigindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsubfigindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsubfignumwidth\relax + \let\@cftbsnum \cftsubfigpresnum + \let\@cftasnum \cftsubfigaftersnum + \let\@cftasnumb \cftsubfigaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsubfigfont ##1}\nobreak + \cftsubfigfillnum{##2}} + \fi + } +} +\renewcommand{\@cftl@subtab}{ +\renewcommand*{\l@subtable}[2]{% + \ifnum \c@lotdepth > \toclevel@subtable + \vskip \cftbeforesubtabskip + {\if@RTL\rightskip\else\leftskip\fi \cftsubtabindent\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \cftsubtabindent\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \cftsubtabnumwidth\relax + \let\@cftbsnum \cftsubtabpresnum + \let\@cftasnum \cftsubtabaftersnum + \let\@cftasnumb \cftsubtabaftersnumb + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\cftsubtabfont ##1}\nobreak + \cftsubtabfillnum{##2}} + \fi + } +} +\renewcommand{\newlistentry}[4][\@empty]{% + \@ifundefined{c@#2}{% check & set the counter + \ifx \@empty#1\relax + \newcounter{#2} + \else + \@ifundefined{c@#1}{\PackageWarning{tocloft}% + {#1 has no counter for use as a `within'} + \newcounter{#2}}% + {\newcounter{#2}[#1]% + \expandafter\edef\csname the#2\endcsname{% + \expandafter\noexpand\csname the#1\endcsname\@SepMark\noexpand\arabic{#2}}} + \fi + \setcounter{#2}{0} + } + {\PackageError{tocloft}{#2 has been previously defined}{\@eha}} + + \@namedef{l@#2}##1##2{% + \ifnum \@nameuse{c@#3depth} > #4\relax + \vskip \@nameuse{cftbefore#2skip} + {\if@RTL\rightskip\else\leftskip\fi \@nameuse{cft#2indent}\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \@nameuse{cft#2numwidth}\relax + \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname + \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname + \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname + \advance\if@RTL\rightskip\else\leftskip\fi\@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {\@nameuse{cft#2font}##1}\nobreak + \@nameuse{cft#2fillnum}{##2}} + \fi + } % end of \l@#2 + + \expandafter\newlength\csname cftbefore#2skip\endcsname + \setlength{\@nameuse{cftbefore#2skip}}{\z@ \@plus .2\p@} + \expandafter\newlength\csname cft#2indent\endcsname + \expandafter\newlength\csname cft#2numwidth\endcsname + \ifcase #4\relax % 0 + \setlength{\@nameuse{cft#2indent}}{0em} + \setlength{\@nameuse{cft#2numwidth}}{1.5em} + \or % 1 + \setlength{\@nameuse{cft#2indent}}{1.5em} + \setlength{\@nameuse{cft#2numwidth}}{2.3em} + \or % 2 + \setlength{\@nameuse{cft#2indent}}{3.8em} + \setlength{\@nameuse{cft#2numwidth}}{3.2em} + \or % 3 + \setlength{\@nameuse{cft#2indent}}{7.0em} + \setlength{\@nameuse{cft#2numwidth}}{4.1em} + \else % anything else + \setlength{\@nameuse{cft#2indent}}{10.0em} + \setlength{\@nameuse{cft#2numwidth}}{5.0em} + \fi + \@namedef{cft#2font}{\normalfont} + \@namedef{cft#2presnum}{} + \@namedef{cft#2aftersnum}{} + \@namedef{cft#2aftersnumb}{} + \@namedef{cft#2dotsep}{\cftdotsep} + \@namedef{cft#2leader}{\normalfont\cftdotfill{\@nameuse{cft#2dotsep}}} + \@namedef{cft#2pagefont}{\normalfont} + \@namedef{cft#2afterpnum}{} + \@namedef{toclevel@#2}{#4} + \@namedef{cft#2fillnum}##1{% + {\@nameuse{cft#2leader}}\nobreak + \hb@xt@\@pnumwidth{\hfil\@nameuse{cft#2pagefont}##1}\@nameuse{cft#2afterpnum}\par} +} % end \newlistentry +\renewcommand{\cftchapterprecistoc}[1]{\addtocontents{toc}{% + {\if@RTL\rightskip\else\leftskip\fi \cftchapindent\relax + \advance\if@RTL\righskip\else\leftskip\fi \cftchapnumwidth\relax + \if@RTL\leftskip\else\rightskip\fi \@tocrmarg\relax + \textit{#1}\protect\par}}} +% \end{macrocode} +% \iffalse +%</tocloft-xetex-bidi.def> +%<*tocbasic-xetex-bidi.def> +%\fi +% \section{File \texttt{tocbasic-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tocbasic-xetex-bidi.def}[2016/09/14 v0.2 bidi adaptations for tocbasic package for XeTeX engine] +\bidi@undef\scr@dte@def@l@undottedtocline +\bidi@undef\scr@dte@undottedtocline@init +\DeclareTOCEntryStyle{undottedtocline}[{% + \DefineTOCEntryLengthOption{indent}% + {scr@tso@}{@indent}{entry indent}% + \DefineTOCEntryLengthOption{numwidth}% + {scr@tso@}{@numwidth}{entry number width}% + \@ifundefined{#1tocdepth}{% + \ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{% + \ifstr{#1}{chapter}{\@namedef{#1tocdepth}{0}}{% + \ifstr{#1}{section}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{subsection}{\@namedef{#1tocdepth}{2}}{% + \ifstr{#1}{subsubsection}{\@namedef{#1tocdepth}{3}}{% + \ifstr{#1}{paragraph}{\@namedef{#1tocdepth}{4}}{% + \ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{% + \ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{% + \expandafter\let\csname #1tocdepth\expandafter\endcsname + \csname #1numdepth\endcsname + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{}% + \@ifundefined{scr@tso@#1@indent}{% + \@ifundefined{scr@#1@tocindent}{% + \ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{% + \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{% + \scr@ifundefinedorrelax{l@chapter}{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{3.8em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{7em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + }% + }% + }% + }% + }% + }{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{7.0em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{12em}% + }{% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{% + \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}% + }% + }{}% + \@ifundefined{scr@tso@#1@numwidth}{% + \@ifundefined{scr@#1@tocnumwidth}{% + \ifstr{#1}{figure}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% + \scr@ifundefinedorrelax{chapter}{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@numwidth}{3.2em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@numwidth}{4.1em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@numwidth}{5m}% + }{% + }% + }% + }% + }% + }% + }{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@numwidth}{3.1em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@numwidth}{5em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@numwidth}{6em}% + }{% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{% + \@namedef{scr@tso@#1@numwidth}{\@nameuse{scr@#1@tocnumwidth}}% + }% + }{}% +}]{% + \ifnum \c@tocdepth >\numexpr \@nameuse{#1tocdepth}-\@ne\relax + \ifnum \@nameuse{#1tocdepth}<\@ne + \scr@ifundefinedorrelax{chapter}{% + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + }{% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + }% + \else + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \fi + \setlength\@tempdima{\@nameuse{scr@tso@#1@numwidth}}% + \begingroup + \parindent \z@ \bidi@rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode + \bfseries + \advance\bidi@leftskip\@tempdima + \advance\bidi@leftskip\@nameuse{scr@tso@#1@indent}% + \hskip -\dimexpr \bidi@leftskip-\@nameuse{scr@tso@#1@indent}\relax + ##1% + \nobreak + \hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}% + \par + \penalty\@highpenalty + \endgroup + \fi +} + +\bidi@undef\scr@dte@def@l@largetocline +\bidi@undef\scr@dte@largetocline@init +\DeclareTOCEntryStyle{largetocline}[{% + \DefineTOCEntryLengthOption{indent}% + {scr@tso@}{@indent}{entry indent}% + \@ifundefined{#1tocdepth}{% + \ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{% + \ifstr{#1}{chapter}{\@namedef{#1tocdepth}{0}}{% + \ifstr{#1}{section}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{subsection}{\@namedef{#1tocdepth}{2}}{% + \ifstr{#1}{subsubsection}{\@namedef{#1tocdepth}{3}}{% + \ifstr{#1}{paragraph}{\@namedef{#1tocdepth}{4}}{% + \ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{% + \ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{% + \expandafter\let\csname #1tocdepth\expandafter\endcsname + \csname #1numdepth\endcsname + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{}% + \@ifundefined{scr@tso@#1@indent}{% + \@ifundefined{scr@#1@tocindent}{% + \ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{% + \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{% + \scr@ifundefinedorrelax{l@chapter}{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{3.8em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{7em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + }% + }% + }% + }% + }% + }{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{7.0em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{12em}% + }{% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{% + \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}% + }% + }{}% +}]{% + \ifnum \c@tocdepth >\numexpr \@nameuse{#1tocdepth}-\@ne\relax + \ifnum \@nameuse{#1tocdepth}<\@ne + \scr@ifundefinedorrelax{chapter}{% + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + }{% + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + }% + \else + \addpenalty\@secpenalty + \addvspace{2.25em \@plus\p@}% + \fi + \setlength\@tempdima{3em}% + \begingroup + \parindent \z@ \bidi@rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode + \large + \bfseries + \advance\bidi@leftskip\@nameuse{scr@tso@#1@indent}% + ##1% + \hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}% + \par + \nobreak + \ifnum 0= + \scr@ifundefinedorrelax{chapter}{\if@compatibility 1\else 0\fi}{1}\relax + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \fi + \endgroup + \fi +} + +\renewcommand*{\scr@dte@tocline}[3]{% + \ifnum \@nameuse{#1tocdepth}>\c@tocdepth + \else + \tocbasic@DependOnPenaltyAndTOCLevel{#1}% + \addvspace{\@nameuse{scr@tso@#1@beforeskip}}\relax + {% + \bidi@leftskip \@nameuse{scr@tso@#1@indent}\relax + \bidi@rightskip \@tocrmarg + \parfillskip -\bidi@rightskip + \@nameuse{Ifscr@tso@#1@raggedpage}{% + \addtolength{\parfillskip}{\z@ \@plus 1fil}% + }{}% + \parindent \@nameuse{scr@tso@#1@indent}\relax + \@afterindenttrue + \interlinepenalty\@M + \expandafter\ifx\csname ragged#1entry\endcsname\raggedright + \addtolength\bidi@rightskip\@flushglue + \else + \def\reserved@a{\raggedright}% + \expandafter\ifx\csname ragged#1entry\endcsname\reserved@a + \addtolength\bidi@rightskip\@flushglue + \else + \renewcommand\reserved@a{\raggedright}% + \expandafter\ifx\csname ragged#1entry\endcsname\reserved@a + \addtolength\bidi@rightskip\@flushglue + \fi + \fi + \fi + \leavevmode + \@tempdima \@nameuse{scr@tso@#1@numwidth}\relax + \@nameuse{Ifscr@tso@#1@dynnumwidth}{% + \scr@ifundefinedorrelax{scr@dte@#1@lastmaxnumwidth}{}{% + \ifdim \@nameuse{scr@dte@#1@lastmaxnumwidth}>\@tempdima + \@tempdima\@nameuse{scr@dte@#1@lastmaxnumwidth}\relax + \fi + }% + }{}% + \advance\bidi@leftskip \@tempdima + \null\nobreak\hskip -\bidi@leftskip + {% + \usetocbasicnumberline + \let\scr@dte@numberline@box\numberline@box + \def\numberline@box##1{% + \sbox\scr@dte@tocline@numbox{\@nameuse{scr@tso@#1@numberformat}{##1}}% + \global\scr@dte@tocline@numberwidth + \dimexpr\wd\scr@dte@tocline@numbox+\@nameuse{scr@tso@#1@numsep}\relax + \ifdim \scr@dte@tocline@numberwidth + >\@nameuse{scr@dte@#1@maxnumwidth}\relax + \global\@nameuse{scr@dte@#1@maxnumwidth}\scr@dte@tocline@numberwidth + \fi + \@nameuse{Ifscr@tso@#1@dynnumwidth}{}{% + \ifdim \scr@dte@tocline@numberwidth + >\dimexpr \@nameuse{scr@tso@#1@numwidth}% + +\@nameuse{scr@tso@#1@numsep}\relax + \PackageWarning{tocbasic% + }{% + number width of #1 toc entries should be + increased!\MessageBreak + Currently used number width = + \the\wd\scr@dte@tocline@numbox,\MessageBreak + Wanted number separation + \space\space\space = + \the\dimexpr\@nameuse{scr@tso@#1@numsep}\relax,\MessageBreak + Reserved number width \space\space\space\space\space\space = + \the\dimexpr\@nameuse{scr@tso@#1@numwidth}\relax% + }% + \fi + }% + \scr@dte@numberline@box{\@nameuse{scr@tso@#1@numberformat}{##1}}% + \@nameuse{Ifscr@tso@#1@breakafternumber}{% + {\parfillskip\@flushglue\par}\nobreak\hskip-\bidi@leftskip + }{}% + }% + \@nameuse{scr@tso@#1@entryformat}{% + #2% + \nobreak + {% + \normalfont\normalsize\@nameuse{scr@tso@#1@linefill}% + \nobreak + \@nameuse{scr@tso@#1@pagenumberbox}{% + \@nameuse{scr@tso@#1@pagenumberformat}{#3}% + }% + }% + \@par + }% + }% + }% + \tocbasic@SetPenaltyByTOCLevel{#1}% + \fi +} + +\bidi@undef\scr@dte@def@l@tocline +\bidi@undef\scr@dte@tocline@init +\DeclareTOCEntryStyle{tocline}[{% + \DefineTOCEntryLengthOption{beforeskip}% + {scr@tso@}{@beforeskip}{vertical skip before the entry}% + \DefineTOCEntryIfOption{breakafternumber}% + {scr@tso@}{@breakafternumber}{line break after number flag}% + \DefineTOCEntryIfOption{dynnumwidth}% + {scr@tso@}{@dynnumwidth}{dynamic number width flag}% + \DefineTOCEntryCommandOption{entryformat}% + {scr@tso@}{@entryformat}[1]{entry format}% + \DefineTOCEntryCommandOption{entrynumberformat}% + {scr@tso@}{@numberformat}[1]{entry number format}% + \DefineTOCEntryCommandOption{linefill}[\TOCLineLeaderFill]% + {scr@tso@}{@linefill}{filling between text and page number}% + \DefineTOCEntryLengthOption{numsep}% + {scr@tso@}{@numsep}{entry number separation}% + \DefineTOCEntryCommandOption{onstarthigherlevel}% + {scr@tso@}{@LastTOCLevelWasLower}{start higher level entry hook}% + \DefineTOCEntryCommandOption{onstartlowerlevel}% + {scr@tso@}{@LastTOCLevelWasHigher}{start lower level entry hook}% + \DefineTOCEntryCommandOption{onstartsamelevel}% + {scr@tso@}{@LastTOCLevelWasSame}{start same level entry hook}% + \DefineTOCEntryCommandOption{pagenumberbox}% + {scr@tso@}{@pagenumberbox}[1]{page number box}% + \DefineTOCEntryCommandOption{pagenumberformat}% + {scr@tso@}{@pagenumberformat}[1]{page number format}% + \DefineTOCEntryOption{raggedentrytext}[true]{% + \FamilySetBool{KOMAarg}{raggedentrytext}{@tempswa}{##1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \if@tempswa + \expandafter\let\csname ragged\scr@dte@current entry\endcsname + \raggedright + \else + \expandafter\let\csname ragged\scr@dte@current entry\endcsname + \relax + \fi + \fi + }% + \DefineTOCEntryIfOption{raggedpagenumber}% + {scr@tso@}{@raggedpage}{page number ragged flag}% + \DefineTOCEntryLengthOption{indent}% + {scr@tso@}{@indent}{entry indent}% + \DefineTOCEntryLengthOption{numwidth}% + {scr@tso@}{@numwidth}{entry number width}% + \scr@ifundefinedorrelax{#1tocdepth}{% + \ifstrstart{#1}{sub}{% + \scr@ifundefinedorrelax{\scr@dte@nosub{#1}tocdepth}{}{% + \expandafter\edef\csname #1tocdepth\endcsname{% + \the\numexpr \noexpand\@nameuse{\scr@dte@nosub{#1}tocdepth}+\@ne\relax + }% + }% + }{}% + }{}% + \@ifundefined{#1tocdepth}{% + \ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{% + \ifstr{#1}{chapter}{\@namedef{#1tocdepth}{0}}{% + \ifstr{#1}{section}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{subsection}{\@namedef{#1tocdepth}{2}}{% + \ifstr{#1}{subsubsection}{\@namedef{#1tocdepth}{3}}{% + \ifstr{#1}{paragraph}{\@namedef{#1tocdepth}{4}}{% + \ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{% + \ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{% + \ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{% + \expandafter\let\csname #1tocdepth\expandafter\endcsname + \csname #1numdepth\endcsname + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{}% + \scr@ifundefinedorrelax{scr@tso@#1@indent}{% + \@ifundefined{scr@#1@tocindent}{% + \ifstrstart{#1}{sub}{% + \scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@indent}{% + \scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@numwidth}{}{% + \expandafter\edef\csname scr@tso@#1@indent\endcsname{% + \glueexpr \noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@numwidth}% + \relax + }% + }% + }{% + \scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@numwidth}{% + \expandafter\edef\csname scr@tso@#1@indent\endcsname{% + \glueexpr \noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@indent}% + \relax + }% + }{% + \expandafter\edef\csname scr@tso@#1@indent\endcsname{% + \glueexpr \noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@indent}% + +\noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@numwidth}% + \relax + }% + }% + }% + }{}% + }{% + \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}% + }% + }{}% + \@ifundefined{scr@tso@#1@indent}{% + \ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{% + \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{% + \scr@ifundefinedorrelax{l@chapter}{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{3.8em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{7em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + }% + }% + }% + }% + }% + }{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@indent}{7.0em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@indent}{10em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@indent}{12em}% + }{% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{}% + \scr@ifundefinedorrelax{scr@tso@#1@numwidth}{% + \scr@ifundefinedorrelax{scr@#1@tocnumwidth}{% + \ifstrstart{#1}{sub}{% + \scr@ifundefinedorrelax{scr@tso@\scr@dte@nosub{#1}@numwidth}{}{% + \expandafter\edef\csname scr@tso@#1@numwidth\endcsname{% + \glueexpr \noexpand\@nameuse{scr@tso@\scr@dte@nosub{#1}@numwidth}% + +.9em% + \relax + }% + }% + }{}% + }{% + \@namedef{scr@tso@#1@numwidth}{\@nameuse{scr@#1@tocnumwidth}}% + }% + }{}% + \@ifundefined{scr@tso@#1@numwidth}{% + \ifstr{#1}{figure}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% + \scr@ifundefinedorrelax{chapter}{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@numwidth}{3.2em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@numwidth}{4.1em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@numwidth}{5m}% + }{% + }% + }% + }% + }% + }% + }{% + \ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% + \ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{% + \ifstr{#1}{subsubsection}{% + \@namedef{scr@tso@#1@numwidth}{3.1em}% + }{% + \ifstr{#1}{paragraph}{% + \@namedef{scr@tso@#1@numwidth}{5em}% + }{% + \ifstr{#1}{subparagraph}{% + \@namedef{scr@tso@#1@numwidth}{6em}% + }{% + }% + }% + }% + }% + }% + }% + }% + }% + }% + }{}% + \expandafter\renewcommand% + \csname scr@tso@#1@LastTOCLevelWasLower\endcsname{\LastTOCLevelWasLower}% + \expandafter\renewcommand% + \csname scr@tso@#1@LastTOCLevelWasSame\endcsname{\LastTOCLevelWasSame}% + \expandafter\renewcommand% + \csname scr@tso@#1@LastTOCLevelWasHigher\endcsname{\LastTOCLevelWasHigher}% + \@ifundefined{scr@tso@#1@beforeskip}{% + \ifstr{#1}{part}{% + \@namedef{scr@tso@#1@beforeskip}{\glueexpr 2.25em \@plus\p@\relax}% + }{% + \ifstr{#1}{chapter}{% + \@namedef{scr@tso@#1@beforeskip}{\glueexpr 1.0em \@plus\p@\relax}% + }{% + \ifstr{#1}{section}{% + \scr@ifundefinedorrelax{l@chapter}{% + \@namedef{scr@tso@#1@beforeskip}{\glueexpr 1.0em \@plus\p@\relax}% + }{}% + }{}% + }% + }% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@beforeskip\endcsname{\glueexpr \z@ plus .2\p@\relax}% + }{}% + \@ifundefined{scr@dte@#1@maxnumwidth}{% + \expandafter\newlength\csname scr@dte@#1@maxnumwidth\endcsname + \setlength{\@nameuse{scr@dte@#1@maxnumwidth}}{\z@}% + }{}% + \renewcommand*{\scr@dte@donumwidth}{}% + \g@addto@macro{\scr@dte@donumwidth}{\do{#1}}% + \expandafter\renewcommand\expandafter*% + \csname scr@tso@#1@numsep\endcsname{.4em}% + \expandafter\renewcommand% + \csname scr@tso@#1@numberformat\endcsname[1]{##1}% + \ifstr{#1}{part}{% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\large\bfseries ##1}% + }{% + \ifstr{#1}{chapter}{% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\bfseries ##1}% + }{% + \scr@ifundefinedorrelax{l@chapter}{% + \ifstr{#1}{section}{% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{\bfseries ##1}% + }{}% + }{}% + \expandafter\renewcommand% + \csname scr@tso@#1@entryformat\endcsname[1]{##1}% + }% + }% + \expandafter\renewcommand + \csname Ifscr@tso@#1@breakafternumber\endcsname[2]{##2}% + \@ifundefined{scr@tso@#1@linefill}{% + \ifstr{#1}{part}{% + \@namedef{scr@tso@#1@linefill}{\hfill}% + }{% + \ifstr{#1}{chapter}{% + \@namedef{scr@tso@#1@linefill}{\hfill}% + }{% + \scr@ifundefinedorrelax{l@chapter}{% + \ifstr{#1}{section}{% + \@namedef{scr@tso@#1@linefill}{\hfill}% + }{} + }{} + \expandafter\renewcommand% + \csname scr@tso@#1@linefill\endcsname{\TOCLineLeaderFill\relax}% + }% + }% + }{}% + \expandafter\renewcommand\csname Ifscr@tso@#1@raggedpage\endcsname[2]{##2}% + \ifstr{#1}{part}{% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{\large\bfseries ##1}% + }{% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberformat\endcsname[1]{% + {\normalfont\normalcolor ##1}}% + }% + \expandafter\renewcommand% + \csname scr@tso@#1@pagenumberbox\endcsname[1]{% + \hb@xt@\@pnumwidth{\hfil ##1}}% + \expandafter\renewcommand\csname Ifscr@tso@#1@dynnumwidth\endcsname[2]{##2}% +}]{% + \scr@dte@tocline{#1}{##1}{##2}% +} + +% \end{macrocode} +% \iffalse +%</tocbasic-xetex-bidi.def> +%<*tocstyle-xetex-bidi.def> +%\fi +% \section{File \texttt{tocstyle-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{tocstyle-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for tocstyle package for XeTeX engine] +\renewcommand*{\tocstyle@dottedtocline}[5]{% + \let\numberline\tocstyle@numberline + \ifnum #1>\c@tocdepth \else + \if@tocstyle@penalties + \begingroup + \@tempcnta 20010 + \advance \@tempcnta by -#1 + \ifnum \@tempcnta>\lastpenalty + \aftergroup\penalty\aftergroup\@lowpenalty + \fi + \endgroup + \fi + \edef\tocstyledepth{#1}% + \tocstyle@activate@features + \ifx\tocstyle@feature@entryvskip\relax + \vskip \z@ \@plus.2\p@ + \else + \addvspace{\tocstyle@feature@entryvskip}% + \fi + {% + \parskip \z@ \parindent \z@ \if@RTL\rightskip\else\leftskip\fi \z@ \if@RTL\leftskip\else\rightskip\fi \z@ + \tocstyle@feature@raggedhook + \@tempdima #3\relax + \@tempdimb #2\relax + \typeout{m (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% + \ifnum #1>\z@\relax + \@tempcnta #1\relax \advance\@tempcnta \m@ne + \ifcsname tocstyle@skipwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \ifcsname tocstyle@numwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \@tempdimb + \csname tocstyle@skipwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \advance\@tempdimb + \csname tocstyle@numwidth@\tocstyleTOC @\the\@tempcnta\endcsname + \fi + \fi + \fi + \typeout{C (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \ifcsname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname + \ifdim \@tempdimb> + \csname tocstyle@skipwidth@\tocstyleTOC @#1\endcsname\relax + \expandafter\xdef\csname tocstyle@skipwidth@\tocstyleTOC + @#1\endcsname{\the\@tempdimb}% + \fi + \else + \expandafter\xdef\csname tocstyle@skipwidth@\tocstyleTOC + @#1\endcsname{\the\@tempdimb}% + \fi + \iftocstyle@autolength + \ifcsname tocstyle@maxskipwidth@\tocstyleTOC @#1\endcsname + \@tempdimb \csname tocstyle@maxskipwidth@\tocstyleTOC @#1\endcsname + \relax + \fi + \ifcsname tocstyle@maxnumwidth@\tocstyleTOC @#1\endcsname + \@tempdima \csname tocstyle@maxnumwidth@\tocstyleTOC @#1\endcsname + \relax + \fi + \typeout{a (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% + \typeout{A (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \else + \@tempdimb #2\relax + \typeout{M (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \fi + \ifcsname tocstyle@unumwidth@\tocstyleTOC @\endcsname + \ifdim \@tempdima> + \csname tocstyle@unumwidth@\tocstyleTOC @\endcsname\relax + \expandafter\xdef\csname tocstyle@unumwidth@\tocstyleTOC + @\endcsname{\the\@tempdima}% + \fi + \else + \expandafter\xdef\csname tocstyle@unumwidth@\tocstyleTOC + @\endcsname{\the\@tempdima}% + \fi + \ifcase\tocstyle@indentstyle\relax\else + \@tempdimb \z@ + \ifcsname tocstyle@maxunumwidth@\tocstyleTOC @\endcsname + \@tempdima \csname tocstyle@maxunumwidth@\tocstyleTOC @\endcsname + \relax + \fi + \typeout{s (\tocstyleTOC, \tocstyledepth): \the\@tempdima}% + \typeout{S (\tocstyleTOC, \tocstyledepth): \the\@tempdimb}% + \fi + \advance\parindent \@tempdimb\@afterindenttrue + \advance\if@RTL\rightskip\else\leftskip\fi \parindent + \advance\if@RTL\leftskip\else\rightskip\fi \@tocrmarg + \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \ifx\tocstyle@feature@parfillskip\relax\else + \advance\parfillskip \tocstyle@feature@parfillskip\relax + \fi + \interlinepenalty\@M + \leavevmode + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima + \null\nobreak + \iftocstyle@indentnotnumbered\else + \hskip -\if@RTL\rightskip\else\leftskip\fi + \fi + \tocstyle@feature@entryhook + {#4}\nobreak + \ifx\tocstyle@feature@leaders\relax + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{\tocstyle@feature@dothook .}% + \mkern \@dotsep mu$}\hfill + \else + \tocstyle@feature@leaders + \fi + \nobreak + \ifx\tocstyle@feature@pagenumberbox\relax + \hb@xt@\@pnumwidth{\hfil\tocstyle@feature@pagenumberhook #5}% + \else + \tocstyle@feature@pagenumberbox{\tocstyle@feature@pagenumberhook #5}% + \fi + \par + }% + \if@tocstyle@penalties + \bgroup + \@tempcnta 20009 + \advance\@tempcnta by -#1 + \edef\reserved@a{\egroup\penalty\the\@tempcnta\relax}% + \reserved@a + \fi + \fi} +\renewcommand*{\tocstyle@numberline}[1]{% + \begingroup + \ifx\tocstyle@feature@spaceafternumber\relax + \settowidth\@tempdima{\tocstyle@@numberline{#1}\enskip}% + \else + \settowidth\@tempdima{\tocstyle@@numberline{#1}}% + \advance \@tempdima \tocstyle@feature@spaceafternumber\relax + \fi + \ifcsname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname + \ifdim \@tempdima > + \csname tocstyle@numwidth@\tocstyleTOC @\tocstyledepth\endcsname\relax + \expandafter\xdef\csname tocstyle@numwidth@\tocstyleTOC + @\tocstyledepth\endcsname{\the\@tempdima}% + \fi + \else + \expandafter\xdef\csname tocstyle@numwidth@\tocstyleTOC + @\tocstyledepth\endcsname{\the\@tempdima}% + \fi + \endgroup + \iftocstyle@indentnotnumbered + \hskip -\if@RTL\rightskip\else\leftskip\fi + \fi + \ifcase \tocstyle@indentstyle + \hb@xt@\@tempdima{\tocstyle@@numberline{#1}\hfil}% + \or + \hb@xt@\@tempdima{\tocstyle@@numberline{#1}\hfil}% + \else + \ifx\tocstyle@feature@spaceafternumber\relax + \hbox{\tocstyle@@numberline{#1}\enskip}% + \else + \hbox{\tocstyle@@numberline{#1}\hskip + \tocstyle@feature@spaceafternumber\relax}% + \fi + \fi +} +\AtBeginDocument{% + \ifcsname l@part\endcsname + \ifcsname l@chapter\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@part{\tocstyle@l@define{part}{-1}}{}}% + \else + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@part{\tocstyle@l@define{part}{0}}{}}% + \fi + \fi + \ifcsname l@chapter\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@chapter{\tocstyle@l@define{chapter}{0}}{}}% + \fi + \ifcsname l@section\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@section{\tocstyle@l@define{section}{1}}{}}% + \fi + \ifcsname l@subsection\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@subsection{\tocstyle@l@define{subsection}{2}}{}}% + \fi + \ifcsname l@subsubsection\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@subsubsection{\tocstyle@l@define{subsubsection}{3}}{}}% + \fi + \ifcsname l@paragraph\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@paragraph{\tocstyle@l@define{paragraph}{4}}{}}% + \fi + \ifcsname l@subparagraph\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@subparagraph{\tocstyle@l@define{subparagraph}{5}}{}}% + \fi + \ifcsname l@table\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@table{\tocstyle@l@define{table}{1}}{}}% + \fi + \ifcsname l@figure\endcsname + \setbox\@tempboxa\vbox{\hsize\maxdimen + \l@figure{\tocstyle@l@define{figure}{1}}{}}% + \fi + \def\@tempa#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\if@RTL\rightskip\else\leftskip\fi #2\relax \if@RTL\leftskip\else\rightskip\fi \@tocrmarg \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{{\hfil \normalfont \normalcolor #5}}% + \par}% + \fi}% + \ifx\@dottedtocline\@tempa\else + \tocstyle@macrochangewarning\@dottedtocline + \fi + \let\tocstyle@saved@dottedtocline\@dottedtocline + \def\@tempa#1{\hb@xt@\@tempdima{#1\autodot\hfil}}% + \ifx\numberline\@tempa\else + \def\@tempa#1{\hb@xt@\@tempdima{#1\hfil}}% + \ifx\numberline@tempa\else + \tocstyle@macrochangewarning\numberline + \fi + \fi + \let\tocstyle@saved@numberline\numberline +} +\renewcommand*{\tocstyle@l@define}[2]{% + \advance\if@RTL\rightskip\else\leftskip\fi-\@tempdima + \edef\@tempa{% + \noexpand\global\noexpand\let + \expandafter\noexpand\csname tocstyle@saved@l@#1\endcsname + \expandafter\noexpand\csname l@#1\endcsname + \noexpand\gdef + \expandafter\noexpand\csname tocstyle@l@#1\endcsname{% + \noexpand\@dottedtocline{#2}{\the\if@RTL\rightskip\else\leftskip\fi}{\the\@tempdima}}% + \noexpand\g@addto@macro\noexpand\tocstyle@activate@all@l{% + \noexpand\let\expandafter\noexpand\csname l@#1\endcsname + \expandafter\noexpand\csname tocstyle@l@#1\endcsname + }% + }% + \PackageInfo{tocstyle}{prepare \expandafter\string + \csname l@#1\endcsname\space for redefinition}% + \@tempa +} +% \end{macrocode} +% \iffalse +%</tocstyle-xetex-bidi.def> +%<*todonotes-xetex-bidi.def> +%\fi +% \section{File \texttt{todonotes-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{todonotes-xetex-bidi.def}[2016/11/08 v0.4 bidi adaptations for todonotes package for XeTeX engine] +\newif\if@bidi@todonotes@textdirection@RTL +\newif\if@bidi@todonotes@figposition@right +\newcommand{\@bidi@todonotes@align}{}% +\define@key{todonotes}{align}{\renewcommand{\@bidi@todonotes@align}{#1}}% +\newcommand{\@bidi@todonotes@textdirection}{}% +\define@choicekey{todonotes}{textdirection}[\bidi@todonotes@tempa\bidi@todonotes@tempb]{righttoleft,lefttoright}{% + \ifcase\bidi@todonotes@tempb\relax + \@bidi@todonotes@textdirection@RTLtrue + \let\@bidi@todonotes@textdirection\RLE + \or + \@bidi@todonotes@textdirection@RTLfalse + \let\@bidi@todonotes@textdirection\LRE + \fi} +\define@choicekey{todonotes}{figposition}[\bidi@todonotes@tempa\bidi@todonotes@tempb]{right,left}{% + \ifcase\bidi@todonotes@tempb\relax + \@bidi@todonotes@figposition@righttrue + \or + \@bidi@todonotes@figposition@rightfalse + \fi} +\if@todonotes@disabled% +\else % \if@todonotes@disabled +\renewcommand{\@todonotes@drawInlineNote}{% + \if@todonotes@dviStyle% + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% + \if@todonotes@authorgiven% + {\noindent \@todonotes@sizecommand \@todonotes@author:\,\@todonotes@text}% + \else% + {\noindent \@todonotes@sizecommand \@todonotes@text}% + \fi + {\par\noindent\begin{tikzpicture}[remember picture]% + \draw node[inlinenotestyle] {};\end{tikzpicture}\par}% + \else% + {\par\noindent\begin{tikzpicture}[remember picture]% + \if@bidi@todonotes@textdirection@RTL\setRTL\fi% + \draw node[inlinenotestyle,font=\@todonotes@sizecommand,align=\@bidi@todonotes@align]{% + \if@todonotes@authorgiven% + {\noindent \@todonotes@sizecommand \@todonotes@author:\,\@todonotes@text}% + \else% + {\noindent \@todonotes@sizecommand \@todonotes@text}% + \fi};% + \end{tikzpicture}\par}% + \fi}% +\renewcommand{\@todonotes@drawMarginNoteWithLine}{% +\begin{tikzpicture}[remember picture, overlay, baseline=-0.75ex]% + \node [coordinate] (inText) {};% +\end{tikzpicture}% +\marginpar[{% Draw note in left margin + \@todonotes@drawMarginNote% + \if@RTL\@todonotes@drawLineToRightMargin\else\@todonotes@drawLineToLeftMargin\fi% +}]{% Draw note in right margin + \@todonotes@drawMarginNote% + \if@RTL\@todonotes@drawLineToLeftMargin\else\@todonotes@drawLineToRightMargin\fi% +}% +}% +\renewcommand{\@todonotes@drawMarginNote}{% +\if@todonotes@dviStyle% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] {};% + \end{tikzpicture}\\% + \begin{minipage}{\@todonotes@textwidth}% + \if@todonotes@authorgiven% + \@todonotes@sizecommand \@todonotes@author \@todonotes@text% + \else% + \@todonotes@sizecommand \@todonotes@text% + \fi% + \end{minipage}\\% + \begin{tikzpicture}[remember picture]% + \draw node[notestyle] (inNote) {};% + \end{tikzpicture}% +\else% + \let\originalHbadness\hbadness% + \hbadness 100000% + \begin{tikzpicture}[remember picture,baseline=(X.base)]% + \if@bidi@todonotes@textdirection@RTL\setRTL\fi% + \node(X){\vphantom{X}};% + \draw node[notestyle,font=\@todonotes@sizecommand,anchor=north,align=\@bidi@todonotes@align] (inNote) at (X.north)% + {\@todonotes@text};% + \if@todonotes@authorgiven% + \draw node[notestyle,font=\@todonotes@sizecommand,anchor=north,align=\@bidi@todonotes@align] (inNote) at (X.north)% + {\@todonotes@sizecommand\@todonotes@author};% + \node(Y)[below=of X]{};% + \draw node[notestyle,font=\@todonotes@sizecommand,anchor=north,align=\@bidi@todonotes@align] (inNote) at (X.south)% + {\@todonotes@text};% + \else% + \draw node[notestyle,font=\@todonotes@sizecommand,anchor=north,align=\@bidi@todonotes@align] (inNote) at (X.north)% + {\@todonotes@text};% + \fi% + \end{tikzpicture}% + \hbadness \originalHbadness% +\fi}% +\renewcommand{\missingfigure}[2][]{% +\setkeys{todonotes}{#1}% +\addcontentsline{tdo}{todo}{\@todonotes@MissingFigureText: #2}% +\par +\noindent +\begin{tikzpicture} +\draw[fill=\@todonotes@currentfigcolor, draw = black!40, line width=2pt] + (-2, -2.5) rectangle +(\@todonotes@currentfigwidth, \@todonotes@currentfigheight); +\if@bidi@todonotes@figposition@right% +\begin{scope}[xshift=\@todonotes@currentfigwidth-4cm] +\fi% +\draw[red, fill=white, rounded corners = 5pt, line width=10pt] + (30:2cm) -- (150:2cm) -- (270:2cm) -- cycle; +\if@bidi@todonotes@figposition@right% +\end{scope} +\begin{scope}[xshift=-3.8cm] +\fi% +\if@bidi@todonotes@textdirection@RTL\setRTL\fi% +\draw (2, -0.3) node[right, text + width=\@todonotes@currentfigwidth-4.5cm,align=\@bidi@todonotes@align] {#2}; +\if@bidi@todonotes@figposition@right% +\end{scope} +\begin{scope}[xshift=\@todonotes@currentfigwidth-4cm] +\fi% +\draw (0, 0.3) node[align=\@bidi@todonotes@align] {\@bidi@todonotes@textdirection{\@todonotes@MissingFigureUp}}; +\draw (0, -0.3) node[align=\@bidi@todonotes@align] {\@bidi@todonotes@textdirection{\@todonotes@MissingFigureDown}}; +\if@bidi@todonotes@figposition@right% +\end{scope} +\fi% +\end{tikzpicture}\hfill +}% Ending \missingfigure command +\fi % Ending \@todonotes@ifdisabled +\presetkeys% + {todonotes}% + {align=left,% + textdirection=lefttoright,% + figposition=left}{}% +% \end{macrocode} +% \iffalse +%</todonotes-xetex-bidi.def> +%<*wrapfig-xetex-bidi.def> +%\fi +% \section{File \texttt{wrapfig-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{wrapfig-xetex-bidi.def}[2014/04/23 v0.3 bidi adaptations for wrapfig package for XeTeX engine] +\let\WF@@everypar\bidi@n@everypar +\def\WF@putfigmaybe{% +\ifinner + \vskip-\parskip \global\WF@floatfalse + \let\pagetotal\maxdimen % kludge flag for "not top of page" +\else % outer page + \@tempdima\pagedepth % save page depth + {\advance\parskip\@tempdima\if@RTL\advance\parskip\baselineskip\fi\vskip-\parskip}% back up to baseline + \penalty\interlinepenalty % update pg. parameters + \@tempdimb\pagegoal \advance\@tempdimb-\pagetotal % room left on page + \ifdim\@tempdimb<\z@ % \WF@info{Page overfull already;}% + \global\WF@floatfalse + \ifdim-\@tempdimb>\pageshrink \else \pagebreak \fi + \else + \ifdim\WF@size>\@tempdimb + \ifWF@float \dimen@.5\baselineskip \else \dimen@ 2\baselineskip\fi + \ifdim\pagestretch>\dimen@ \dimen@\pagestretch \fi + \ifdim\pagefilstretch>\z@ \dimen@\@tempdimb \fi + \ifdim\pagefillstretch>\z@ \dimen@\@tempdimb \fi + \advance\dimen@.5\baselineskip + \ifdim\dimen@>\@tempdimb % \WF@info{Page nearly full; can stretch}% + \global\WF@floatfalse \pagebreak + \fi + \else % \WF@info{Fits in \the\@tempdimb;}% + \global\WF@floatfalse + \fi\fi + \vskip\@tempdima\relax % (return erased page depth) +\fi +\noindent +\ifWF@float + \WF@fltmes +\else % putting here; + \WF@info{Put \WF@wfname here:}% + {\ifodd\if@twoside\c@page\else\@ne\fi % assign l/r to i/o placement + \lccode`i`l\lccode`o`r\else \lccode`i`r\lccode`o`l\fi + \xdef\WF@place{\the\lccode\lccode\WF@place}}% twice to get only l or r + \hbox to\z@{% llap or rlap depending on {l} or {r}; calc effective width + \@tempdima\wd\WF@box \@tempdimb\WF@ovh + \advance\@tempdima-\@tempdimb \advance\@tempdima\columnsep + \@tempdimb\hsize \advance\@tempdimb-\@tempdima + \xdef\WF@adjlw{\the\@tempdima}% + \ifnum `l=\WF@place % fig on left + \if@RTL% + \kern\@tempdimb \kern\columnsep + \def\@tempa{\hss}% position to left of the gap + \else% + \hss % figure overlaps space to the left + \def\@tempa{\kern\columnsep}% position to left of the gap + \fi% + \else % fig on right + \if@RTL% + \hss + \@tempdima\z@ + \def\@tempa{\kern\columnsep} + \else% + \@tempdima\z@ % no left indentation + \kern\@tempdimb \kern\columnsep + \def\@tempa{\hss}% figure overlaps space to the right + \fi% + \fi + \ifdim\@tempdimb<\hsize + \xdef\WF@wrapil{\the\@tempdima \the\@tempdimb}% indentation and length + \xdef\WF@adjtlm{\the\@tempdima}% + \else + \xdef\WF@wrapil{\z@ \the\hsize}% + \xdef\WF@adjlw{\z@}\xdef\WF@adjtlm{\z@}% + \fi + \ifdim\pagetotal=\z@ % \WF@info{Put \WF@wfname at top of p.\thepage}% + \global\advance\WF@size-\intextsep + \else % \WF@info{Putting \WF@wfname in middle of page}% + \setbox\WF@box\hbox{\lower\intextsep\box\WF@box}% + \fi \dp\WF@box\z@ \box\WF@box \@tempa + }% end \hbox to 0pt + \aftergroup\WF@startwrapping % after the \endgroup which immediately follows +\fi} +% \end{macrocode} +% \iffalse +%</wrapfig-xetex-bidi.def> +%<*xcolor-xetex-bidi.def> +%\fi +% \section{File \texttt{xcolor-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{xcolor-xetex-bidi.def}[2013/04/08 v0.2 bidi adaptations for xcolor package for XeTeX engine] +\long\def\color@b@x#1#2#3% + {\leavevmode\ifmmode\else\if@RTL\beginL\fi\fi + \setbox\z@\hbox{\kern\fboxsep{\set@color\if@RTL\beginR\fi#3\if@RTL\endR\fi}\kern\fboxsep}% + \dimen@\ht\z@\advance\dimen@\fboxsep\ht\z@\dimen@ + \dimen@\dp\z@\advance\dimen@\fboxsep\dp\z@\dimen@ + {#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}\ifmmode\else\if@RTL\endL\fi\fi} +\def\normalcolor{\let\current@color\default@color\ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\set@color\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi} +\DeclareRobustCommand\color + {\ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\@ifnextchar[\@undeclaredcolor\@declaredcolor} +\def\@undeclaredcolor[#1]#2% + {\begingroup + \let\@@cls\@empty + \XC@getmodclr12{#1}{#2}{}% + {\ifblendcolors + \ifx\colorblend\@empty\else + \edef\@@mix{\expandafter\@gobble\colorblend}\@tempswafalse + \XC@coremodel\@@mod\@@clr\@xcolor@{}{}\@@mod\@@clr + \fi + \fi + \ifconvertcolorsU + \edef\@@tmp{\XC@tgt@mod{\@@mod}}% + \convertcolorspec\@@mod\@@clr\@@tmp\@@clr \let\@@mod\@@tmp + \fi + \ifmaskcolors + \convertcolorspec\@@mod\@@clr\XC@mmod\@@clr + \let\@@mod\XC@mmod + \XC@inflate\@@mod\XC@mclr\@@clr\@@tmp + \expandafter\XC@mul\@@tmp,\@@clr + \fi + \edef\@@tmp{\noexpand\XC@undeclaredcolor{\@@mod}{\@@clr}}% + \expandafter\endgroup\@@tmp}} +\def\@declaredcolor#1% + {\XC@edef\XC@@tmp{#1}\XC@@tstfalse + \ifcase\XC@type\XC@@tmp\relax \XC@@tsttrue\or \relax\else + \ifblendcolors\XC@@tsttrue\fi \ifmaskcolors\XC@@tsttrue\fi + \ifconvertcolorsU\XC@@tsttrue\fi + \fi + \ifXC@@tst + \expandafter\XC@declaredcolor\else + \expandafter\XC@declaredc@lor\fi} +\def\XC@undeclaredcolor#1#2% + {\@ifundefinedmodel{#1}% + {\c@lor@error{model `#1'}}% + {\@nameuse{color@#1}\current@color{#2}% + \edef\XC@current@color{\noexpand\xcolor@{}{\current@color}{#1}{#2}}% + \XC@display}\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi\ignorespaces} +\def\XC@declaredc@lor + {\XC@let@Nc\XC@current@color{\string\color@\XC@@tmp}% + \edef\current@color{\XC@current@color}% + \XC@display\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi\ignorespaces} +\DeclareRobustCommand\bidicolor + {\@ifnextchar[\@bidiundeclaredcolor\@bidideclaredcolor} +\def\@bidiundeclaredcolor[#1]#2% + {\begingroup + \let\@@cls\@empty + \XC@getmodclr12{#1}{#2}{}% + {\ifblendcolors + \ifx\colorblend\@empty\else + \edef\@@mix{\expandafter\@gobble\colorblend}\@tempswafalse + \XC@coremodel\@@mod\@@clr\@xcolor@{}{}\@@mod\@@clr + \fi + \fi + \ifconvertcolorsU + \edef\@@tmp{\XC@tgt@mod{\@@mod}}% + \convertcolorspec\@@mod\@@clr\@@tmp\@@clr \let\@@mod\@@tmp + \fi + \ifmaskcolors + \convertcolorspec\@@mod\@@clr\XC@mmod\@@clr + \let\@@mod\XC@mmod + \XC@inflate\@@mod\XC@mclr\@@clr\@@tmp + \expandafter\XC@mul\@@tmp,\@@clr + \fi + \edef\@@tmp{\noexpand\XC@bidiundeclaredcolor{\@@mod}{\@@clr}}% + \expandafter\endgroup\@@tmp}} +\def\XC@bidiundeclaredcolor#1#2% + {\@ifundefinedmodel{#1}% + {\c@lor@error{model `#1'}}% + {\@nameuse{color@#1}\current@color{#2}% + \edef\XC@current@color{\noexpand\xcolor@{}{\current@color}{#1}{#2}}% + \XC@display}} +\def\@bidideclaredcolor#1% + {\XC@edef\XC@@tmp{#1}\XC@@tstfalse + \ifcase\XC@type\XC@@tmp\relax \XC@@tsttrue\or \relax\else + \ifblendcolors\XC@@tsttrue\fi \ifmaskcolors\XC@@tsttrue\fi + \ifconvertcolorsU\XC@@tsttrue\fi + \fi + \ifXC@@tst + \expandafter\XC@bidideclaredcolor\else + \expandafter\XC@bidideclaredc@lor\fi} +\def\XC@bidideclaredcolor + {\XC@split\XC@@tmp + \edef\@@tmp{\noexpand\@bidiundeclaredcolor[\@@mod]{\@@clr}}% + \expandafter\endgroup\@@tmp} +\def\XC@bidideclaredc@lor + {\XC@let@Nc\XC@current@color{\string\color@\XC@@tmp}% + \edef\current@color{\XC@current@color}% + \XC@display} +\def\color@box#1#2{\color@b@x\relax{\bidicolor#1{#2}}} +\def\color@fbox#1#2#3#{\protect\color@fb@x{#1}{#2}{#3}} +\def\color@fb@x#1#2#3#4% + {\color@b@x{\fboxsep\z@\bidicolor#1{#2}\XC@fbox}% + {\@ifxempty{#3}{\bidicolor#1}{\bidicolor#3}{#4}}} +\def\color@setgroup{\begingroup\ifhmode\if@RTL\beginL\aftergroup\endR\fi\fi\set@color\ifhmode\if@RTL\beginR\aftergroup\endL\fi\fi} +% \end{macrocode} +% \iffalse +%</xcolor-xetex-bidi.def> +%<*latex-xetex-bidi.def> +%\fi +% \section{File \texttt{latex-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{latex-xetex-bidi.def}[2019/03/03 v1.3.7 bidi adaptations for `latex.ltx' for XeTeX engine] +\newcommand{\TeXXeTOn}{\TeXXeTstate\@ne} +\newcommand{\TeXXeTOff}{\TeXXeTstate\z@} +\TeXXeTOn +\def\bidi@RTL@everypar{{\setbox\z@\lastbox\if@RTL\beginR\else\beginL\fi\ifvoid\z@\else\usebox\z@\fi}} + \let\bidi@o@everypar=\everypar + \newtoks\bidi@n@everypar + \bidi@n@everypar\expandafter{\the\bidi@o@everypar} + \bidi@o@everypar{\bidi@RTL@everypar\the\bidi@n@everypar} + \let\everypar=\bidi@n@everypar +\def\moreLRE{\bracetext \aftergroup\endL \beginL\@RTLfalse} +\def\moreRLE{\bracetext \aftergroup\endR \beginR\@RTLtrue} +\protected\def\hboxR{\hbox\bgroup + \everyhbox{% + \aftergroup\egroup + \everyhbox{}% + \beginR + \@hboxRconstructtrue + \bgroup + \aftergroup\endR + \aftergroup\egroup + }\hbox} +\protected\def\hboxL{\hbox\bgroup + \everyhbox{% + \aftergroup\egroup + \everyhbox{}% + \beginL + \@hboxRconstructfalse + \bgroup + \aftergroup\endL + \aftergroup\egroup + }\hbox} +\protected\def\vboxR{\vbox\bgroup + \everyvbox{% + \aftergroup\egroup + \everyvbox{}% + \@RTLtrue + \@RTLtabtrue + \bgroup + \aftergroup\egroup + }\vbox} +\protected\def\vboxL{\vbox\bgroup + \everyvbox{% + \aftergroup\egroup + \everyvbox{}% + \@RTLfalse + \@RTLtabfalse + \bgroup + \aftergroup\egroup + }\vbox} +\newcommand*{\bidi@leftskip}{\if@RTL\rightskip\else\leftskip\fi} +\newcommand*{\bidi@rightskip}{\if@RTL\leftskip\else\rightskip\fi} +\def\LTR{\par\@RTLfalse\@RTL@footnotefalse\@RTLtabfalse\hsize\linewidth\parshape\z@} +\def\endLTR{\par} +\newenvironment{LTR*}{\LTR + \everypar{% + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\parindent + \fi}% + }% +}{\endLTR\@endpetrue} +\def\RTL{\par\@RTLtrue\@RTL@footnotetrue\@RTLtabtrue\hsize\linewidth\parshape\z@} +\def\endRTL{\par} +\newenvironment{RTL*}{\RTL + \everypar{% + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\parindent + \fi}% + }% +}{\endRTL\@endpetrue} +\def\setRTL{\@RTLtrue\@RTL@footnotetrue\@RTLtabtrue} +\def\setLTR{\@RTLfalse\@RTL@footnotefalse\@RTLtabfalse} +\let\unsetRTL=\setLTR +\let\unsetLTR=\setRTL +\let\LR=\LRE +\let\RL=\RLE +\def\@ensure@RTL#1{\if@RTL#1\else\RLE{#1}\fi} +\def\@ensure@LTR#1{\if@RTL\LRE{#1}\else#1\fi} +\let\@ensure@RL=\@ensure@RTL +\let\@ensure@LR=\@ensure@LTR +\def\@ensure@dir#1{\if@RTL\RLE{#1}\else{#1}\fi} +\let\@ensure@maindir=\@ensure@dir +\def\@@RTL{RTL} +\def\@@LTR{LTR} +\def\save@dir{\if@RTL\gdef\saved@@dir{RTL}\else\gdef\saved@@dir{LTR}\fi} +\def\reset@dir{\ifx\saved@@dir\@@RTL\setRTL\else\ifx\saved@@dir\@@LTR\setLTR\else\relax\fi\fi} +\let\@@TeX\TeX +\def\TeX{\@ensure@LTR{\@@TeX}} +\let\@@LaTeX\LaTeX +\def\LaTeX{\@ensure@LTR{\@@LaTeX}} +\let\@@LaTeXe\LaTeXe +\def\LaTeXe{\@ensure@LTR{\@@LaTeXe}} +\long\def\bidi@reflect@box#1{% + \leavevmode + \setbox\z@\hbox{{#1}}% + \setbox\tw@\hbox{\special{x:gsave}\special{x:scale -1 1}\rlap{\copy\z@}\special{x:grestore}}% + \hb@xt@\wd\z@{\kern\wd\z@\box\tw@\hss}% +} +\bidi@newrobustcmd*{\XeTeX}{\LR{\leavevmode$\smash{\hbox{X\lower.5ex + \hbox{\kern-.125em\bidi@reflect@box{E}}\kern-.1667em \TeX}}$}} +\bidi@newrobustcmd*{\XeLaTeX}{\LR{\leavevmode$\smash{\hbox{X\lower.5ex + \hbox{\kern-.125em\bidi@reflect@box{E}}\kern-.1667em \LaTeX}}$}} +\let\setRL=\setRTL +\let\setLR=\setLTR +\let\unsetRL=\setLTR +\def\bidi@tabular@RTLcases{\let\@halignto\@empty\@bidi@tabular@RTLcases} +\@ifpackageloaded{array}{% +\def\@bidi@tabular@RTLcases{\@RTLtabtrue% + \leavevmode + \hbox \bgroup $\left.\col@sep\tabcolsep \let\d@llarbegin\begingroup + \let\d@llarend\endgroup + \@tabarray} +\def\endbidi@tabular@RTLcases{\endarray \right\rbrace$\egroup} +}{% +\def\@bidi@tabular@RTLcases{\@RTLtabtrue% + \leavevmode \hbox \bgroup + $\left.\let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} + +\def\endbidi@tabular@RTLcases{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi + \egroup\right\rbrace $\egroup}} +\def\RTLcases#1{\left.\vcenter{\normalbaselines\m@th + \ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\,\right\}} +\renewenvironment{RTLcases}{% + \bidi@matrix@check\RTLcases\env@RTLcases +}{% + \endbidi@tabular@RTLcases% +} +\def\env@RTLcases{% + \let\@ifnextchar\bidi@new@ifnextchar + \def\arraystretch{1.2}% + \bidi@tabular@RTLcases{@{}r@{\quad}r@{}}% +} +\def\SepMark#1{\gdef\@SepMark{#1}} +\SepMark{.} +\def\@thmcountersep{\@SepMark} +\def\setRTLbibitems{\@RTLbibitemstrue\@LTRbibitemsfalse} +\def\setLTRbibitems{\@LTRbibitemstrue\@RTLbibitemsfalse} +\def\setdefaultbibitems{\@RTLbibitemsfalse\@LTRbibitemsfalse} +\newcommand*{\bidi@@thebibliography@font@hook}{} +\def\list#1#2{% + \ifnum \@listdepth >5\relax + \@toodeep + \else + \global\advance\@listdepth\@ne + \fi + \rightmargin\z@ + \listparindent\z@ + \itemindent\z@ + \csname @list\romannumeral\the\@listdepth\endcsname + \def\@itemlabel{#1}% + \let\makelabel\@mklab + \@nmbrlistfalse + #2\relax + \@trivlist + \parskip\parsep + \parindent\listparindent + \advance\linewidth -\rightmargin + \advance\linewidth -\leftmargin + \if@bidi@list@minipage@parbox + \if@RTL + \advance\@totalleftmargin \leftmargin + \else + \advance\@totalleftmargin \rightmargin + \fi + \else + \if@hboxRconstruct + \if@bidi@list@minipage@parbox@not@nob + \if@RTL + \advance\@totalleftmargin \rightmargin + \else + \advance\@totalleftmargin \leftmargin + \fi + \else + \if@RTL + \advance\@totalleftmargin \leftmargin + \else + \advance\@totalleftmargin \rightmargin + \fi\fi + \else + \if@RTL + \advance\@totalleftmargin \rightmargin + \else + \advance\@totalleftmargin \leftmargin + \fi\fi\fi + \parshape \@ne \@totalleftmargin \linewidth + \ignorespaces} +\long\def\@iiiparbox#1#2[#3]#4#5{% + \leavevmode + \@pboxswfalse + \if@hboxRconstruct + \@bidi@list@minipage@parbox@not@nobtrue + \fi + \if@RTL + \ifx#1t% + \@bidi@list@minipage@parboxtrue + \else + \ifx#1b% + \@bidi@list@minipage@parboxtrue + \fi + \fi + \fi + \setlength\@tempdima{#4}% + \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% + \ifx\relax#2\else + \setlength\@tempdimb{#2}% + \edef\@parboxto{to\the\@tempdimb}% + \fi + \if#1b\vbox + \else\if #1t\vtop + \else\ifmmode\vcenter + \else\@pboxswtrue $\vcenter + \fi\fi\fi + \@parboxto{\let\hss\vss\let\unhbox\unvbox + \csname bm@#3\endcsname}% + \if@pboxsw \m@th$\fi + \@end@tempboxa} +\newenvironment{LTRitems} + {\par\@RTLfalse\@RTLtabfalse + \if@bidi@list@minipage@parbox + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth + \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\else + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi + \else \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi\fi + \ignorespaces}{\vskip\z@} +\newenvironment{RTLitems} + {\par\@RTLtrue\@RTLtabtrue + \if@bidi@list@minipage@parbox + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth + \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\else + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi + \else \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi\fi + \ignorespaces}{\vskip\z@} +\newenvironment{LTRbibitems} + {\par\@RTLfalse\@RTLtabfalse + \if@bidi@list@minipage@parbox + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth + \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\else + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi + \else \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi\fi + \ignorespaces}{\vskip\z@} +\newenvironment{RTLbibitems} + {\par\@RTLtrue\@RTLtabtrue + \if@bidi@list@minipage@parbox + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth + \else \if@hboxRconstruct\if@bidi@list@minipage@parbox@not@nob + \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\else + \parshape \@ne \dimexpr(\@totalleftmargin+\leftmargin) \linewidth\fi + \else \parshape \@ne \dimexpr(\@totalleftmargin-\leftmargin) \linewidth\fi\fi + \ignorespaces}{\vskip\z@} +\def\raggedright{% + \let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip + \leftskip\z@skip + \parindent\z@\parfillskip\z@skip} +\let\bidi@orig@raggedleft\raggedleft +\let\bidi@orig@raggedright\raggedright +\renewcommand\raggedleft{\if@bidi@list@minipage@parbox\bidi@orig@raggedright\else\if@hboxRconstruct\bidi@orig@raggedright\else\bidi@orig@raggedleft\fi\fi} +\renewcommand\raggedright{\if@bidi@list@minipage@parbox\bidi@orig@raggedleft\else\if@hboxRconstruct\bidi@orig@raggedleft\else\bidi@orig@raggedright\fi\fi} +\newcommand{\bidi@raggedright}{\if@RTL\raggedleft\else\raggedright\fi} +\newcommand{\bidi@raggedleft}{\if@RTL\raggedright\else\raggedleft\fi} +\def\centerline#1{% +\if@RTL\@@line{\hss\beginR#1\endR\hss} +\else\@@line{\hss#1\hss}\fi} +\def\leftline#1{% +\if@RTL\@@line{\beginR#1\endR\hss} +\else\@@line{#1\hss}\fi} +\def\rightline#1{% +\if@RTL\@@line{\hss\beginR#1\endR} +\else\@@line{\hss#1}\fi} +\let\bidi@orig@leftline\leftline +\let\bidi@orig@rightline\rightline +\def\leftline#1{\ifhmode\if@RTL\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@rightline{#1}\else\if@hboxRconstruct\bidi@orig@rightline{#1}\else\bidi@orig@leftline{#1}\fi\fi\fi} +\def\rightline#1{\ifhmode\if@RTL\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\else\if@bidi@list@minipage@parbox\bidi@orig@leftline{#1}\else\if@hboxRconstruct\bidi@orig@leftline{#1}\else\bidi@orig@rightline{#1}\fi\fi\fi} +\def\bidirlap#1{\hb@xt@\z@{\if@RTL\hss\fi#1\if@RTL\else\hss\fi}} +\def\bidillap#1{\hb@xt@\z@{\if@RTL\else\hss\fi#1\if@RTL\hss\fi}} +\def\@hangfrom#1{\setbox\@tempboxa\hbox{{#1}}% + \hangindent \if@RTL-\else\fi\wd\@tempboxa\noindent\box\@tempboxa} +\def\narrower{% + \advance\if@RTL\rightskip\else\leftskip\fi\parindent + \advance\if@RTL\leftskip\else\rightskip\fi\parindent} +\def\underline#1{% + \relax + \ifmmode\@@underline{#1}% + \else +\if@RTL $\@@underline{\hbox{\beginR#1\endR}}\m@th$\relax +\else +$\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} +\if@compatibility + \let\undertext=\underline +\fi +\def\@tabular{% + \leavevmode \hbox \bgroup \if@RTLtab\beginR \fi + $\let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} +\def\endtabular{\crcr\egroup\if@RTLtab\egroup\endR\egroup\fi + \egroup $\if@RTLtab\endR\fi\egroup} +\expandafter \let \csname endtabular*\endcsname = \endtabular +\def\@array[#1]#2{% + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi + \bgroup + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@}% + \@mkpream{#2}% + \edef\@preamble{% + \ialign \noexpand\@halignto + \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \let\tabularnewline\\% + \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@skip\baselineskip\z@skip + \ifhmode \@preamerr\z@ \@@par\fi + \if@RTLtab\hbox\bgroup\beginR\@hboxRconstructtrue\if #1t\vtop \else \vbox \fi\bgroup\fi + \@preamble} +\def\array{\let\@acol\@arrayacol \let\@classz\@arrayclassz + \let\@classiv\@arrayclassiv + \let\\\@arraycr\let\@halignto\@empty\@RTLtabfalse\@tabarray} +\def\@testpach#1{\@chclass \ifnum \@lastchclass=\tw@ 4 \else + \ifnum \@lastchclass=3 5 \else + \z@ \if #1c\@chnum \z@ \else + \if \if@RTLtab#1r\else#1l\fi\@chnum \@ne \else + \if \if@RTLtab#1l\else#1r\fi\@chnum \tw@ \else + \@chclass \if #1|\@ne \else + \if #1@\tw@ \else + \if #1p3 \else \z@ \@preamerr 0\fi + \fi \fi \fi \fi \fi \fi +\fi} +\def\bm@l{\if@RTL\hss\unhbox\@tempboxa\else\unhbox\@tempboxa\hss\fi} +\def\bm@r{\if@RTL\unhbox\@tempboxa\hss\else\hss\unhbox\@tempboxa\fi} +\def\bm@t{\unhbox\@tempboxa\hss} +\def\bm@b{\hss\unhbox\@tempboxa} +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\p@ + {\if@RTL\rightskip\else\leftskip\fi #2\relax \if@RTL\leftskip\else\rightskip\fi \@tocrmarg \parfillskip -\if@RTL\leftskip\else\rightskip\fi + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima #3\relax + \advance\if@RTL\rightskip\else\leftskip\fi \@tempdima \null\nobreak\hskip -\if@RTL\rightskip\else\leftskip\fi + {#4}\nobreak + \leaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill + \nobreak + \hb@xt@\@pnumwidth{{\hfil\normalfont \normalcolor #5}}% + \par}% + \fi} + +\newcount\bidi@column@check@number + +\def\bidi@column@status#1{\gdef\bidi@current@column@status{#1}} + +\def\bidi@set@column@status#1#2{% + \global\expandafter\let\csname #1\endcsname\bidi@current@column@status} + +\if@twocolumn +\newcommand\DetectColumn[3][1]{% + \ifx\bidi@firstcolumn@status@write\relax + \PackageError{bidi}% + {Option 'DetectColumn' not selected}% + {\string\DetectColumn\space + requires the use of the 'DetectColumn' + option on the package}% + \fi + \global\advance\bidi@column@check@number\@ne + \edef\bidi@column@type{\expandafter\ifx + \csname bidi@column-\the\bidi@column@check@number\endcsname\relax + 0\else + \csname bidi@column-\the\bidi@column@check@number\endcsname + \fi}% + \ifcase \bidi@column@type\relax + \ifcase #1\or #2\or#3\fi % 0 not known use first column as default + \or + #2% % 1 First column + \or + #3% % 2 Second (Last column) + \else + \ERROR + \fi + \edef\next{\write\@auxout + {\string\bidi@set@column@status{bidi@column-\the\bidi@column@check@number}% + {\bidi@column@type}}}% + \next +} + +\AtEndDocument{\def\bidi@set@column@status#1#2{% + \ifnum #2=\bidi@current@column@status\else + \@tempswatrue + \fi}% +} +\fi + +\def\RTL@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hskip \columnwidth + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hskip -\textwidth + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}% + \hskip \columnsep + \hskip \columnwidth }}% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \endgroup + \fi}% + +\def\LTR@outputdblcol{% + \if@firstcolumn + \global\@firstcolumnfalse + \global\setbox\@leftcolumn\copy\@outputbox + \splitmaxdepth\maxdimen + \vbadness\maxdimen + \setbox\@outputbox\vbox{\unvbox\@outputbox\unskip}% + \setbox\@outputbox\vsplit\@outputbox to\maxdimen + \toks@\expandafter{\topmark}% + \xdef\@firstcoltopmark{\the\toks@}% + \toks@\expandafter{\splitfirstmark}% + \xdef\@firstcolfirstmark{\the\toks@}% + \ifx\@firstcolfirstmark\@empty + \global\let\@setmarks\relax + \else + \gdef\@setmarks{% + \let\firstmark\@firstcolfirstmark + \let\topmark\@firstcoltopmark}% + \fi + \else + \global\@firstcolumntrue + \setbox\@outputbox\vbox{% + \hb@xt@\textwidth{% + \hb@xt@\columnwidth{% + \bidi@firstcolumn@status@write% + \box\@leftcolumn \hss}% + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \bidi@lastcolumn@status@write% + \box\@outputbox \hss}}}% + \@combinedblfloats + \@setmarks + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi{\@outputpage + \@startdblcolumn}% + \endgroup + \fi}% + + +\renewcommand{\@outputdblcol}{\if@RTLmain\RTL@outputdblcol\else\LTR@outputdblcol\fi} +\newcommand{\RTLdblcol}{\renewcommand{\@outputdblcol}{\RTL@outputdblcol}} +\newcommand{\LTRdblcol}{\renewcommand{\@outputdblcol}{\LTR@outputdblcol}} + +\bidi@patchcmd\@makecol{% + \ifvoid\footins + \setbox\@outputbox \box\@cclv + \else + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@cclv + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi +}{% + \ifvoid\footins + \ifvoid\@bidi@copyins@ + \setbox\@outputbox \box\@cclv + \else + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@cclv + \vskip \skip\@bidi@copyins@ + \color@begingroup + \normalcolor + \unvbox \@bidi@copyins@ + \color@endgroup + }% + \fi + \else + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@cclv + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + \ifvoid\@bidi@copyins@ + \else + \vskip \skip\@bidi@copyins@ + \color@begingroup + \normalcolor + \unvbox \@bidi@copyins@ + \color@endgroup + \fi + }% + \fi +}{}{} + +\def\LTRmarginpar{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr + \@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% + {\@floatpenalty\z@ + \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar [\@LTRxmpar\@LTRympar} +\long\def\@LTRxmpar[#1]#2{% + \@LTRsavemarbox\@marbox{#1}% + \@LTRsavemarbox\@currbox{#2}% + \@xympar} +\long\def\@LTRympar#1{% + \@LTRsavemarbox\@marbox{#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\long\def \@LTRsavemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@LTRmarginparreset + #2% + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\def \@LTRmarginparreset {% + \reset@font + \normalsize + \@minipagetrue + \everypar{\@minipagefalse\everypar{}\beginL}% +} +\def\RTLmarginpar{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr + \@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}% + {\@floatpenalty\z@ + \@fltovf\def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar [\@RTLxmpar\@RTLympar} +\long\def\@RTLxmpar[#1]#2{% + \@RTLsavemarbox\@marbox{#1}% + \@RTLsavemarbox\@currbox{#2}% + \@xympar} +\long\def\@RTLympar#1{% + \@RTLsavemarbox\@marbox{#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\long\def \@RTLsavemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@RTLmarginparreset + #2% + \@minipagefalse + \outer@nobreak + }% + \color@endbox +} +\def \@RTLmarginparreset {% + \reset@font + \normalsize + \@minipagetrue + \everypar{\@minipagefalse\everypar{}\beginR}% +} +\def\@addmarginpar{\@next\@marbox\@currlist{\@cons\@freelist\@marbox + \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne + \if@twocolumn + \if@firstcolumn \@tempcnta\m@ne \fi + \else + \if@mparswitch + \ifodd\c@page \else\@tempcnta\m@ne \fi + \fi + \if@reversemargin \@tempcnta -\@tempcnta \fi + \fi + \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi + \@tempdima\@mparbottom + \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@marbox + \ifdim\@tempdima >\z@ + \@latex@warning@no@line {Marginpar on page \thepage\space moved}% + \else + \@tempdima\z@ + \fi + \global\@mparbottom\@pageht + \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@marbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@marbox + \global\setbox \@marbox + \vbox {\vskip \@tempdima + \box \@marbox}% + \global \ht\@marbox \z@ + \global \dp\@marbox \z@ + \kern -\@pagedp + \nointerlineskip + \hb@xt@\columnwidth + {\if@RTL\if@LTRmarginpar\beginL\else\beginR\fi\else\if@RTLmarginpar\beginR\else\beginL\fi\fi\ifnum \@tempcnta >\z@ + \hskip\columnwidth \hskip\marginparsep + \else + \hskip -\marginparsep \hskip -\marginparwidth + \fi + \box\@marbox \hss\if@RTL\if@LTRmarginpar\endL\else\endR\fi\else\if@RTLmarginpar\endR\else\endL\fi\fi}% + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}} +\long\def\@ympar#1{% + \@savemarbox\@marbox{\if@RTL\if@LTRmarginpar\@RTLfalse\else\@RTLtrue\fi\else\if@RTLmarginpar\@RTLtrue\else\@RTLfalse\fi\fi#1}% + \global\setbox\@currbox\copy\@marbox + \@xympar} +\def\setRTLmarginpar{\@RTLmarginpartrue\@LTRmarginparfalse} +\def\setLTRmarginpar{\@LTRmarginpartrue\@RTLmarginparfalse} +\def\setdefaultmarginpar{\@RTLmarginparfalse\@LTRmarginparfalse} +\def\@stopline{\unskip\@stopfield\if@rjfield \global\@rjfieldfalse + \@tempdima\@totalleftmargin \advance\@tempdima\linewidth +\hbox to\@tempdima{\if@RTL\beginR\fi\@itemfudge\hskip\dimen\@curtabmar + \box\@curline\hfil\box\@curfield\if@RTL\endR\fi}\else\@addfield + \hbox to\linewidth{\if@RTL\beginR\fi\@itemfudge + \hskip\dimen\@curtabmar\box\@curline\hfil\if@RTL\endR\fi}% +\fi} + +\newcommand*{\bidi@font@@outputpage}{} + +\def\@outputpage{% +\begingroup % the \endgroup is put in by \aftergroup + \let \protect \noexpand + \@resetactivechars + \global\let\@@if@newlist\if@newlist + \global\@newlistfalse + \@parboxrestore + \global\let\bidi@BeforeOutputPageShipOut\@firstofone + \bidi@beforeoutputpageshipouthook + \shipout \vbox{% + \set@typeset@protect + \aftergroup \endgroup + \aftergroup \set@typeset@protect + % correct? or just restore by ending + % the group? + \if@specialpage + \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% + \fi + \if@twoside + \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot + \if@RTLmain + \let\@themargin\evensidemargin + \else + \let\@themargin\oddsidemargin + \fi + \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot + \if@RTLmain + \let\@themargin\oddsidemargin + \else + \let\@themargin\evensidemargin + \fi + \fi + \ifx\@thehead\@empty \let\@thehead\hfil \fi + \ifx\@thefoot\@empty \let\@thefoot\hfil \fi + \else %% not @twoside + \ifx\@oddhead\@empty \let\@thehead\hfil \fi + \ifx\@oddfoot\@empty \let\@thefoot\hfil \fi + \fi + \reset@font + \normalsize + \bidi@font@@outputpage + \normalsfcodes + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ + \@begindvi + \vskip \topmargin + \moveright\@themargin \vbox {% + \global\let\bidi@BeforeHeader\@firstofone + \bidi@beforeheaderhook + \setbox\@tempboxa \vbox to\headheight{% + \vfil + \color@hbox + \normalcolor + \hb@xt@\textwidth{\if@RTLmain\@RTLtrue\beginR\else\@RTLfalse\beginL\fi\@thehead\if@RTLmain\endR\else\endL\fi}% + \color@endbox + }% %% 22 Feb 87 + \dp\@tempboxa \z@ + \box\@tempboxa + \vskip \headsep + \global\let\bidi@BeforeOutputBoxOutputPage\@firstofone + \bidi@beforeoutputboxoutputpagehook + \box\@outputbox + \global\let\bidi@AfterOutputBoxOutputPage\@firstofone + \bidi@afteroutputboxoutputpagehook + \global\let\bidi@BeforeFooter\@firstofone + \bidi@beforefooterhook + \baselineskip \footskip + \color@hbox + \normalcolor + \hb@xt@\textwidth{\if@RTLmain\@RTLtrue\beginR\else\@RTLfalse\beginL\fi\@thefoot\if@RTLmain\endR\else\endL\fi}% + \color@endbox + \global\let\bidi@AfterFooter\@firstofone + \bidi@afterfooterhook + }% + }% + \global\let\bidi@AfterOutputPageShipOut\@firstofone + \bidi@afteroutputpageshipouthook + \global\let\if@newlist\@@if@newlist + \global \@colht \textheight + \stepcounter{page}% + \let\firstmark\botmark + \global\let\bidi@AtEndOutputPage\@firstofone + \bidi@atendoutputpagehook +} +\long\def\@makecaption#1#2{% + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2}% + \ifdim \wd\@tempboxa >\hsize + \if@RTL\beginR\fi#1: #2\if@RTL\endR\fi\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\if@RTL\beginR\fi\hfil\box\@tempboxa\hfil\if@RTL\endR\fi}% + \fi + \vskip\belowcaptionskip} +\let\bidi@saved@eqno=\eqno +\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}{}{ +\def\@eqnnum{{\normalfont \normalcolor \if@RTL\beginR\fi(\theequation)\if@RTL\endR\fi}} +} +\input{footnote-xetex-bidi.def} +\if@twocolumn + \let\autofootnoterule\relax + \let\leftfootnoterule\relax + \let\rightfootnoterule\relax + \textwidthfootnoterule +\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{letter}{\input{letter-xetex-bidi.def}}{} +\@ifclassloaded{scrlettr}{\input{scrlettr-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{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{hyperref}{\input{hyperref-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{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{minitoc}{\input{minitoc-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}}{} +% \end{macrocode} +% \iffalse +%</latex-xetex-bidi.def> +%<*xltxtra-xetex-bidi.def> +%\fi +% \section{File \texttt{xltxtra-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{xltxtra-xetex-bidi.def}[2010/07/25 v0.1 bidi adaptations for xltxtra package for XeTeX engine] +\let\@@XeTeX\XeTeX +\def\XeTeX{\@ensure@LTR{\@@XeTeX}} +\let\@@XeLaTeX\XeLaTeX +\def\XeLaTeX{\@ensure@LTR{\@@XeLaTeX}} +% \end{macrocode} +% \iffalse +%</xltxtra-xetex-bidi.def> +%\fi +% +% \Finale +% +% +%\iffalse +%<*bidi-logo.tex> +\documentclass{minimal} +\usepackage{pstricks} +\begin{document} +\psset{xunit=.5pt,yunit=.5pt,runit=.5pt} +\begin{pspicture}(644,645) +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(336.4,15.6) +\curveto(336.4,7.6)(329.9,1.201)(322,1.201) +\curveto(314,1.201)(307.6,7.701)(307.6,15.6) +\curveto(307.6,23.5)(314.1,30)(322,30) +\curveto(329.9,30)(336.4,23.6)(336.4,15.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(368.4,18.8) +\curveto(369.2,10.901)(363.5,3.8)(355.599,2.901) +\curveto(347.7,2.1)(340.599,7.8)(339.7,15.701) +\curveto(338.9,23.6)(344.599,30.701)(352.5,31.6) +\curveto(360.5,32.5)(367.6,26.7)(368.4,18.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(400,25.3) +\curveto(401.7,17.5)(396.7,9.8)(388.9,8.2) +\curveto(381.099,6.5)(373.4,11.5)(371.799,19.3) +\curveto(370.099,27.1)(375.099,34.8)(382.9,36.401) +\curveto(390.6,38.1)(398.3,33.1)(400,25.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(430.7,35.1) +\curveto(433.2,27.5)(429,19.401)(421.4,16.901) +\curveto(413.799,14.401)(405.7,18.6)(403.2,26.201) +\curveto(400.7,33.801)(404.9,41.901)(412.5,44.401) +\curveto(420.1,46.901)(428.2,42.7)(430.7,35.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(460.2,48.1) +\curveto(463.4,40.8)(460.2,32.3)(452.9,29) +\curveto(445.599,25.8)(437.099,29)(433.799,36.3) +\curveto(430.599,43.6)(433.799,52.1)(441.099,55.3) +\curveto(448.4,58.6)(456.9,55.3)(460.2,48.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(488.2,64) +\curveto(492.2,57.1)(489.8,48.3)(482.9,44.3) +\curveto(476,40.3)(467.2,42.7)(463.2,49.6) +\curveto(459.2,56.5)(461.599,65.3)(468.5,69.3) +\curveto(475.401,73.3)(484.2,70.9)(488.2,64) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(514.3,82.8) +\curveto(519,76.401)(517.6,67.3)(511.1,62.6) +\curveto(504.6,57.901)(495.6,59.3)(490.901,65.8) +\curveto(486.201,72.3)(487.701,81.3)(494.1,86) +\curveto(500.6,90.7)(509.6,89.3)(514.3,82.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(538.4,104.2) +\curveto(543.7,98.3)(543.299,89.099)(537.299,83.8) +\curveto(531.4,78.5)(522.199,79)(516.9,84.901) +\curveto(511.6,90.8)(512.1,100)(518,105.3) +\curveto(523.9,110.7)(533.1,110.2)(538.4,104.2) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(560.1,128.1) +\curveto(566,122.8)(566.5,113.6)(561.201,107.701) +\curveto(555.901,101.801)(546.701,101.301)(540.801,106.6) +\curveto(534.902,111.901)(534.402,121.1)(539.701,127) +\curveto(545,132.9)(554.2,133.4)(560.1,128.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(579.2,154) +\curveto(585.7,149.3)(587.099,140.3)(582.4,133.8) +\curveto(577.7,127.3)(568.7,125.901)(562.2,130.6) +\curveto(555.7,135.3)(554.3,144.3)(559,150.8) +\curveto(563.7,157.3)(572.7,158.7)(579.2,154) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(595.4,181.8) +\curveto(602.299,177.8)(604.7,169)(600.7,162.1) +\curveto(596.7,155.201)(587.9,152.8)(581,156.8) +\curveto(574.1,160.8)(571.7,169.6)(575.7,176.5) +\curveto(579.7,183.5)(588.5,185.8)(595.4,181.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(608.7,211.2) +\curveto(616,208)(619.3,199.4)(616,192.099) +\curveto(612.8,184.799)(604.2,181.599)(596.9,184.799) +\curveto(589.6,188)(586.3,196.6)(589.6,203.9) +\curveto(592.9,211.2)(601.4,214.5)(608.7,211.2) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(618.8,241.8) +\curveto(626.401,239.3)(630.5,231.2)(628.1,223.6) +\curveto(625.6,216)(617.5,211.901)(609.901,214.3) +\curveto(602.3,216.8)(598.201,224.901)(600.6,232.5) +\curveto(603.1,240.1)(611.2,244.3)(618.8,241.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(625.7,273.3) +\curveto(633.5,271.7)(638.5,264)(636.8,256.2) +\curveto(635.2,248.4)(627.5,243.4)(619.7,245.099) +\curveto(611.9,246.799)(606.9,254.4)(608.599,262.2) +\curveto(610.2,270)(617.9,274.9)(625.7,273.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(629.2,305.3) +\curveto(637.099,304.5)(642.9,297.401)(642,289.401) +\curveto(641.2,281.501)(634.1,275.701)(626.1,276.6) +\curveto(618.201,277.401)(612.401,284.5)(613.3,292.5) +\curveto(614.2,300.4)(621.3,306.1)(629.2,305.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(629.4,337.5) +\curveto(637.4,337.5)(643.9,331)(643.799,323.1) +\curveto(643.799,315.1)(637.299,308.7)(629.4,308.7) +\curveto(621.4,308.7)(615,315.2)(615,323.1) +\curveto(615,331.1)(621.4,337.5)(629.4,337.5) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(626.2,369.6) +\curveto(634.099,370.4)(641.2,364.7)(642.099,356.8) +\curveto(642.9,348.9)(637.2,341.8)(629.299,340.9) +\curveto(621.4,340.1)(614.299,345.8)(613.499,353.8) +\curveto(612.5,361.7)(618.3,368.8)(626.2,369.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(619.7,401.1) +\curveto(627.5,402.8)(635.2,397.8)(636.8,390) +\curveto(638.5,382.2)(633.5,374.5)(625.7,372.9) +\curveto(617.9,371.2)(610.2,376.2)(608.599,384) +\curveto(606.9,391.8)(611.9,399.5)(619.7,401.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(609.9,431.8) +\curveto(617.5,434.3)(625.599,430.1)(628.099,422.5) +\curveto(630.599,414.9)(626.4,406.8)(618.799,404.3) +\curveto(611.199,401.8)(603.099,406)(600.599,413.6) +\curveto(598.099,421.2)(602.3,429.4)(609.9,431.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(596.9,461.4) +\curveto(604.2,464.7)(612.7,461.4)(615.9,454.1) +\curveto(619.2,446.8)(615.9,438.3)(608.599,435) +\curveto(601.299,431.8)(592.799,435)(589.499,442.3) +\curveto(586.4,449.6)(589.6,458.1)(596.9,461.4) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(581,489.3) +\curveto(587.9,493.3)(596.7,490.9)(600.7,484) +\curveto(604.7,477.1)(602.3,468.3)(595.4,464.3) +\curveto(588.5,460.3)(579.7,462.7)(575.7,469.6) +\curveto(571.7,476.5)(574.1,485.3)(581,489.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(562.2,515.5) +\curveto(568.599,520.2)(577.7,518.8)(582.4,512.3) +\curveto(587.099,505.9)(585.7,496.8)(579.2,492.1) +\curveto(572.7,487.4)(563.7,488.9)(559,495.3) +\curveto(554.3,501.8)(555.7,510.8)(562.2,515.5) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(540.8,539.6) +\curveto(546.7,544.9)(555.901,544.5)(561.2,538.5) +\curveto(566.5,532.6)(566.099,523.5)(560.099,518.1) +\curveto(554.2,512.8)(544.999,513.3)(539.7,519.2) +\curveto(534.3,525.1)(534.8,534.2)(540.8,539.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(516.9,561.3) +\curveto(522.2,567.2)(531.4,567.7)(537.299,562.4) +\curveto(543.199,557.1)(543.699,547.9)(538.4,542) +\curveto(533.099,536.1)(523.9,535.6)(518,540.9) +\curveto(512.1,546.2)(511.6,555.3)(516.9,561.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(491,580.3) +\curveto(495.7,586.8)(504.7,588.2)(511.2,583.5) +\curveto(517.7,578.8)(519.099,569.8)(514.4,563.3) +\curveto(509.7,556.9)(500.7,555.4)(494.2,560.1) +\curveto(487.7,564.9)(486.3,573.9)(491,580.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(463.1,596.6) +\curveto(467.1,603.5)(475.901,605.9)(482.8,601.9) +\curveto(489.7,597.9)(492.1,589.1)(488.1,582.2) +\curveto(484.1,575.3)(475.3,572.9)(468.401,576.9) +\curveto(461.5,580.9)(459.2,589.7)(463.1,596.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(433.8,609.9) +\curveto(437,617.2)(445.6,620.5)(452.901,617.2) +\curveto(460.201,614)(463.501,605.4)(460.201,598.1) +\curveto(457.001,590.8)(448.401,587.6)(441.1,590.8) +\curveto(433.8,594)(430.5,602.6)(433.8,609.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(403.2,620) +\curveto(405.7,627.6)(413.8,631.7)(421.4,629.3) +\curveto(429,626.8)(433.099,618.7)(430.7,611.1) +\curveto(428.2,603.5)(420.099,599.4)(412.5,601.8) +\curveto(404.9,604.3)(400.7,612.4)(403.2,620) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(371.7,626.9) +\curveto(373.3,634.7)(381,639.7)(388.8,638) +\curveto(396.6,636.3)(401.6,628.7)(399.901,620.9) +\curveto(398.201,613.1)(390.6,608.1)(382.8,609.8) +\curveto(375,611.4)(370.1,619)(371.7,626.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(339.7,630.4) +\curveto(340.5,638.3)(347.6,644.1)(355.6,643.2) +\curveto(363.5,642.4)(369.3,635.3)(368.5,627.3) +\curveto(367.7,619.4)(360.5,613.6)(352.6,614.5) +\curveto(344.6,615.4)(338.8,622.5)(339.7,630.4) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(307.5,630.6) +\curveto(307.5,638.6)(314,645)(321.9,645) +\curveto(329.9,645)(336.299,638.5)(336.299,630.6) +\curveto(336.299,622.6)(329.799,616.2)(321.9,616.2) +\curveto(313.9,616.1)(307.5,622.6)(307.5,630.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(275.4,627.4) +\curveto(274.5,635.3)(280.3,642.4)(288.2,643.3) +\curveto(296.1,644.1)(303.2,638.4)(304.1,630.5) +\curveto(304.9,622.6)(299.2,615.5)(291.2,614.7) +\curveto(283.3,613.7)(276.2,619.4)(275.4,627.4) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(243.9,620.8) +\curveto(242.2,628.7)(247.2,636.3)(255,638) +\curveto(262.8,639.7)(270.5,634.7)(272.1,626.9) +\curveto(273.8,619.1)(268.8,611.4)(261,609.8) +\curveto(253.2,608.1)(245.5,613)(243.9,620.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(213.2,611.1) +\curveto(210.7,618.7)(214.9,626.8)(222.5,629.3) +\curveto(230.1,631.8)(238.2,627.6)(240.7,620) +\curveto(243.2,612.4)(239,604.3)(231.4,601.8) +\curveto(223.8,599.3)(215.6,603.5)(213.2,611.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(183.6,598.1) +\curveto(180.3,605.4)(183.6,613.9)(190.9,617.2) +\curveto(198.2,620.4)(206.7,617.2)(210,609.9) +\curveto(213.2,602.6)(209.9,594.1)(202.7,590.9) +\curveto(195.4,587.5)(186.9,590.8)(183.6,598.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(155.7,582.2) +\curveto(151.7,589.1)(154.1,597.9)(161,601.9) +\curveto(167.9,605.9)(176.7,603.5)(180.7,596.6) +\curveto(184.7,589.7)(182.3,580.9)(175.4,576.9) +\curveto(168.5,572.9)(159.7,575.2)(155.7,582.2) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(129.5,563.4) +\curveto(124.8,569.8)(126.3,578.9)(132.7,583.6) +\curveto(139.2,588.3)(148.2,586.9)(152.9,580.4) +\curveto(157.6,574)(156.1,564.9)(149.7,560.2) +\curveto(143.2,555.5)(134.2,556.9)(129.5,563.4) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(105.4,541.9) +\curveto(100,547.8)(100.6,557)(106.5,562.3) +\curveto(112.4,567.6)(121.5,567.2)(126.9,561.2) +\curveto(132.2,555.3)(131.7,546.1)(125.8,540.8) +\curveto(119.9,535.5)(110.8,536)(105.4,541.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(83.7,518.1) +\curveto(77.7,523.4)(77.3,532.6)(82.6,538.5) +\curveto(87.9,544.4)(97,544.9)(103,539.6) +\curveto(108.9,534.3)(109.4,525.1)(104,519.2) +\curveto(98.8,513.2)(89.7,512.8)(83.7,518.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(64.7,492.1) +\curveto(58.2,496.8)(56.8,505.8)(61.5,512.3) +\curveto(66.2,518.8)(75.2,520.2)(81.7,515.5) +\curveto(88.1,510.8)(89.6,501.8)(84.9,495.3) +\curveto(80.1,488.9)(71.1,487.4)(64.7,492.1) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(48.4,464.3) +\curveto(41.5,468.3)(39.1,477.1)(43.1,484) +\curveto(47.1,490.9)(55.9,493.3)(62.8,489.3) +\curveto(69.7,485.3)(72.1,476.5)(68,469.6) +\curveto(64.1,462.7)(55.3,460.3)(48.4,464.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(35.1,435) +\curveto(27.8,438.2)(24.5,446.8)(27.8,454.1) +\curveto(31,461.4)(39.6,464.7)(46.9,461.4) +\curveto(54.2,458.2)(57.4,449.6)(54.2,442.3) +\curveto(51,435)(42.4,431.7)(35.1,435) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(25,404.4) +\curveto(17.4,406.8)(13.3,415)(15.8,422.6) +\curveto(18.3,430.2)(26.4,434.3)(34,431.9) +\curveto(41.6,429.4)(45.7,421.3)(43.2,413.7) +\curveto(40.8,406.1)(32.6,401.9)(25,404.4) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(18.1,372.9) +\curveto(10.3,374.5)(5.4,382.2)(7,390) +\curveto(8.6,397.8)(16.3,402.8)(24.1,401.1) +\curveto(31.9,399.4)(36.9,391.8)(35.2,384) +\curveto(33.6,376.2)(26,371.2)(18.1,372.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(14.6,340.9) +\curveto(6.7,341.7)(0.9,348.8)(1.8,356.8) +\curveto(2.6,364.7)(9.7,370.5)(17.7,369.7) +\curveto(25.6,368.9)(31.4,361.7)(30.5,353.8) +\curveto(29.6,345.8)(22.5,340)(14.6,340.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(14.4,308.6) +\curveto(6.4,308.6)(0,315.1)(0,323) +\curveto(0,331)(6.5,337.4)(14.5,337.4) +\curveto(22.4,337.4)(28.9,330.9)(28.9,322.9) +\curveto(28.9,315.1)(22.4,308.6)(14.4,308.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(17.6,276.6) +\curveto(9.7,275.701)(2.6,281.5)(1.7,289.401) +\curveto(0.9,297.3)(6.6,304.401)(14.6,305.3) +\curveto(22.5,306.1)(29.6,300.401)(30.4,292.401) +\curveto(31.3,284.5)(25.6,277.4)(17.6,276.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(24.1,245) +\curveto(16.3,243.3)(8.6,248.3)(7,256.1) +\curveto(5.3,263.901)(10.3,271.5)(18.1,273.201) +\curveto(25.9,274.801)(33.6,269.901)(35.2,262.1) +\curveto(36.9,254.4)(32,246.7)(24.1,245) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(33.9,214.3) +\curveto(26.3,211.8)(18.2,216)(15.7,223.6) +\curveto(13.2,231.201)(17.4,239.3)(25,241.8) +\curveto(32.6,244.3)(40.7,240.1)(43.2,232.5) +\curveto(45.7,224.9)(41.5,216.8)(33.9,214.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(46.9,184.8) +\curveto(39.6,181.5)(31.1,184.8)(27.8,192.1) +\curveto(24.5,199.401)(27.8,207.901)(35.1,211.201) +\curveto(42.4,214.401)(50.9,211.1)(54.1,203.801) +\curveto(57.5,196.6)(54.2,188.1)(46.9,184.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(62.8,156.8) +\curveto(55.9,152.8)(47.1,155.2)(43.1,162.1) +\curveto(39.1,169)(41.5,177.8)(48.4,181.8) +\curveto(55.3,185.8)(64.1,183.401)(68.1,176.5) +\curveto(72.1,169.7)(69.8,160.8)(62.8,156.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(81.6,130.7) +\curveto(75.2,126)(66.1,127.4)(61.5,133.9) +\curveto(56.8,140.299)(58.2,149.4)(64.7,154.099) +\curveto(71.1,158.799)(80.2,157.299)(84.8,150.9) +\curveto(89.5,144.4)(88.1,135.4)(81.6,130.7) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(103.1,106.6) +\curveto(97.2,101.2)(88,101.7)(82.7,107.7) +\curveto(77.4,113.599)(77.8,122.7)(83.8,128.099) +\curveto(89.7,133.4)(98.9,132.9)(104.2,126.999) +\curveto(109.5,121.1)(109,111.9)(103.1,106.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(126.9,84.9) +\curveto(121.6,79)(112.4,78.5)(106.5,83.799) +\curveto(100.6,89.098)(100.1,98.199)(105.4,104.199) +\curveto(110.7,110.098)(119.9,110.598)(125.8,105.199) +\curveto(131.8,100)(132.2,90.8)(126.9,84.9) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(152.9,65.8) +\curveto(148.2,59.3)(139.2,57.901)(132.7,62.6) +\curveto(126.2,67.3)(124.8,76.3)(129.5,82.8) +\curveto(134.2,89.2)(143.2,90.7)(149.7,86) +\curveto(156.1,81.3)(157.6,72.3)(152.9,65.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(180.7,49.6) +\curveto(176.7,42.701)(167.9,40.3)(161,44.3) +\curveto(154.1,48.3)(151.7,57.1)(155.7,64) +\curveto(159.7,70.9)(168.5,73.2)(175.4,69.2) +\curveto(182.3,65.3)(184.7,56.5)(180.7,49.6) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(210,36.3) +\curveto(206.8,29)(198.2,25.7)(190.9,29) +\curveto(183.6,32.2)(180.3,40.8)(183.6,48.1) +\curveto(186.8,55.401)(195.4,58.6)(202.7,55.401) +\curveto(210,52.1)(213.3,43.6)(210,36.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(240.6,26.2) +\curveto(238.2,18.599)(230,14.5)(222.4,16.9) +\curveto(214.8,19.4)(210.7,27.5)(213.1,35.099) +\curveto(215.6,42.7)(223.7,46.799)(231.3,44.299) +\curveto(238.9,41.9)(243.1,33.8)(240.6,26.2) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(272.1,19.3) +\curveto(270.5,11.5)(262.8,6.5)(255,8.2) +\curveto(247.2,9.8)(242.2,17.5)(243.9,25.3) +\curveto(245.6,33.1)(253.2,38.1)(261,36.401) +\curveto(268.8,34.8)(273.8,27.1)(272.1,19.3) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.7764706 0.78431374 0.79215688} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(304.1,15.8) +\curveto(303.3,7.901)(296.2,2.1)(288.2,3) +\curveto(280.3,3.8)(274.5,10.9)(275.3,18.9) +\curveto(276.1,26.799)(283.3,32.599)(291.2,31.7) +\curveto(299.2,30.8)(305,23.7)(304.1,15.8) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0.60784316 0.50588238 0.34117648} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(291.4,500.2) +\curveto(301.1,484.1)(307,462.5)(307,439.8) +\curveto(307,435.5)(306.8,431.2)(306.3,426.9) +\curveto(314.6,418.4)(321.3,409.1)(326,401.8) +\curveto(327.6,410.1)(328.4,418.8)(328.4,427.4) +\curveto(328.4,463.9)(314.9,501.1)(293.6,519.1) +\curveto(284,522)(276.8,520.1)(274.4,519.3) +\curveto(280.9,514.7)(286.6,508.1)(291.4,500.2) +\closepath +\moveto(302.4,527.6) +\curveto(319.6,526.4)(337.6,516.9)(351.3,499.5) +\curveto(365,482.1)(374.5,457.9)(374.5,430.5) +\curveto(374.5,400.5)(363.1,368.7)(333.6,336.2) +\curveto(340,335.8)(346.1,333.4)(350.5,329.8) +\curveto(351.6,330)(352.7,330.1)(353.8,330.1) +\lineto(354.5,330.1) +\curveto(383.3,356.7)(394.6,389.2)(394.6,420.6) +\curveto(394.6,450)(384.6,478.3)(369.5,499.2) +\curveto(354.5,520.1)(334.6,533.4)(315.1,533.3) +\curveto(308.3,533.3)(295.201,530)(288.6,526.5) +\curveto(289.1,526.4)(294.5,528.1)(302.4,527.6) +\closepath +\moveto(372.7,501.3) +\curveto(388.2,479.8)(398.4,450.8)(398.5,420.6) +\curveto(398.5,389.2)(387.4,356.4)(359.4,329.5) +\curveto(365.4,328.2)(370.7,325)(373.9,320.8) +\curveto(374.299,320.2)(374.7,319.6)(375,319) +\curveto(407,346.7)(419.5,380.5)(419.5,413.6) +\curveto(419.5,446.6)(406.9,478.8)(388.4,502.7) +\curveto(370,526.6)(345.8,542)(323,541.9) +\curveto(312.4,541.9)(301.9,538.6)(292.3,531.1) +\curveto(299.7,535.1)(307.401,537)(315.1,537) +\curveto(336.4,536.9)(357.2,522.7)(372.7,501.3) +\closepath +\moveto(282.7,533.4) +\curveto(277,534)(271.1,533.9)(265.2,533) +\curveto(270.2,533)(275,532.1)(279.6,530.4) +\curveto(280.5,531.4)(281.5,532.5)(282.7,533.4) +\closepath +\moveto(258.7,497.6) +\curveto(264.6,487.7)(268.1,475)(268.1,463) +\curveto(268.1,459.9)(267.9,456.8)(267.4,453.9) +\curveto(272.3,451.7)(277.8,448.9)(283.8,445.1) +\curveto(284,447.5)(284.1,449.9)(284.1,452.4) +\curveto(284.1,468)(279.8,484.7)(272.5,497.4) +\curveto(265.2,510.2)(255.1,518.7)(243.7,518.7) +\curveto(238.8,518.7)(233.6,517.1)(228.1,513.6) +\curveto(230.3,514.3)(232.5,514.6)(234.6,514.6) +\curveto(244.5,514.6)(252.9,507.5)(258.7,497.6) +\closepath +\moveto(274.7,498.6) +\curveto(282.2,485.4)(286.6,468.4)(286.6,452.4) +\curveto(286.6,449.4)(286.4,446.5)(286.1,443.6) +\curveto(289.6,441.3)(293.3,438.6)(297.1,435.6) +\curveto(299.6,433.6)(301.9,431.5)(304.1,429.3) +\curveto(304.4,432.8)(304.6,436.4)(304.6,439.9) +\curveto(304.6,462.1)(298.8,483.4)(289.3,499) +\curveto(279.8,514.6)(266.9,524.5)(252.7,524.5) +\curveto(247.3,524.5)(241.6,523.1)(235.8,519.9) +\curveto(238.5,520.7)(241.2,521.1)(243.8,521.1) +\curveto(256.5,521.1)(267.2,511.7)(274.7,498.6) +\closepath +\moveto(247.5,460.9) +\curveto(251.3,459.7)(257.4,458.1)(265,454.9) +\curveto(265.4,457.5)(265.6,460.2)(265.6,463) +\curveto(265.6,474.5)(262.2,486.9)(256.6,496.4) +\curveto(251,505.9)(243.2,512.2)(234.6,512.1) +\curveto(229.7,512.1)(224.3,510.1)(218.6,505.1) +\curveto(235.7,512.7)(255.7,492)(247.5,460.9) +\closepath +\moveto(273.9,519.8) +\curveto(274.4,521.3)(275.6,524.8)(278,528.3) +\curveto(273.9,529.7)(269.6,530.5)(265.1,530.5) +\curveto(259.2,530.5)(253,529.2)(246.5,526.3) +\curveto(248.6,526.7)(250.7,526.9)(252.7,526.9) +\curveto(260.3,526.9)(267.4,524.3)(273.9,519.8) +\closepath +\moveto(428.7,500) +\curveto(430.9,497.5)(432.599,495.4)(434.599,492.7) +\curveto(435.499,495.7)(437.499,498.8)(437.499,501.7) +\curveto(441.499,499.1)(448.099,497.9)(451.699,493.7) +\lineto(451.899,493.7) +\curveto(458.999,503.7)(476.699,494.6)(472.899,484.5) +\lineto(471.699,482.3) +\curveto(469.699,479.4)(467.199,478.3)(464.899,478.2) +\curveto(461.798,478.3)(459.298,480.2)(459.298,483.7) +\curveto(459.298,485.2)(459.798,486.5)(460.399,487.5) +\curveto(461.098,488.4)(461.899,488.9)(462.598,488.9) +\curveto(463.199,488.9)(463.798,488.7)(464.498,487.9) +\curveto(465.298,487.1)(465.498,486.5)(465.498,486.1) +\curveto(465.498,485.7)(465.298,485.2)(464.898,484.9) +\curveto(464.498,484.6)(463.998,484.4)(463.797,484.4) +\lineto(463.697,484.4) +\curveto(463.096,484.2)(462.297,484.5)(461.997,483.9) +\curveto(461.697,483.3)(461.897,482.5)(462.497,482.2) +\lineto(462.497,482.2) +\curveto(462.897,482)(463.297,481.9)(463.697,481.9) +\curveto(465.596,482)(467.797,483.5)(467.897,486.1) +\curveto(467.897,487.3)(467.296,488.5)(466.197,489.6) +\curveto(465.096,490.7)(463.797,491.3)(462.497,491.3) +\curveto(458.997,491.2)(456.697,487.6)(456.697,483.7) +\curveto(456.697,481.3)(457.596,479.2)(459.197,477.8) +\curveto(460.697,476.4)(462.697,475.7)(464.897,475.7) +\lineto(464.897,475.7) +\curveto(467.596,475.7)(470.497,477)(472.796,479.6) +\curveto(484.496,464.8)(484.096,446.4)(479.897,438.1) +\curveto(527.7,488.7)(462.8,525.4)(428.7,500) +\closepath +\moveto(422.2,266.6) +\curveto(441,286.901)(460.2,314.6)(465.5,356.201) +\curveto(466.4,363.401)(466.8,370.401)(466.8,377.401) +\curveto(466.8,386.501)(466.1,395.401)(464.7,404.101) +\lineto(464.7,401.101) +\curveto(464.7,354.901)(443.599,311.801)(407.599,284.101) +\lineto(407.599,282.902) +\curveto(407.599,282.202)(407.599,281.502)(407.499,280.902) +\curveto(412.299,276.601)(415.799,269.801)(415.799,261.702) +\curveto(415.799,261.101)(415.799,260.502)(415.699,259.902) +\curveto(417.9,262)(420,264.2)(422.2,266.6) +\closepath +\moveto(442.8,496) +\curveto(441.7,496.6)(440.5,497)(439.3,497.6) +\curveto(439,496.1)(438.6,495.6)(438.1,494.1) +\curveto(437.6,492.8)(437.201,491.3)(436.901,490.1) +\curveto(439.8,486.5)(441.701,483.8)(443.3,481.3) +\curveto(444,480)(446.7,474.8)(449.8,468.9) +\curveto(453.3,462.1)(457.3,454.3)(458.901,450.6) +\curveto(459.1,450.1)(459.6,449.9)(460.001,449.9) +\curveto(460.201,449.9)(460.301,449.9)(460.501,450) +\curveto(461.101,450.3)(461.401,451)(461.101,451.6) +\curveto(458.501,457.6)(450.402,473.1)(446.902,479.7) +\curveto(447.002,484.2)(448.002,488.2)(449.601,491.4) +\curveto(447.7,493.3)(445.3,494.8)(442.8,496) +\closepath +\moveto(412.1,505.1) +\curveto(432.1,480.1)(446.5,447.4)(446.5,412) +\curveto(446.5,376.4)(431.8,338.2)(393.9,302.9) +\curveto(394.099,302.4)(394.2,302)(394.4,301.5) +\curveto(399,299.8)(402.299,296.9)(404.4,293.8) +\curveto(405.7,291.901)(406.5,289.901)(407,288.1) +\curveto(443,314.8)(461.1,355.3)(461.1,401.201) +\curveto(461.1,411.501)(460,421.901)(457.8,432.301) +\curveto(449.3,457.501)(435.5,479.901)(419,498.101) +\curveto(416.7,500.5)(414.4,502.8)(412.1,505.1) +\closepath +\moveto(468.7,321.6) +\curveto(467.9,321.6)(467.099,321.6)(466.3,321.701) +\curveto(463.8,314.401)(460.8,307.501)(457.5,301.201) +\curveto(473.7,307.1)(489.7,314.001)(500.3,327.301) +\curveto(520.2,352.201)(520.8,405.201)(472.901,407.401) +\curveto(473.6,403.401)(474.1,399.401)(474.501,395.301) +\lineto(474.501,395.301) +\curveto(474.501,395.301)(475.101,390.601)(475.201,387.201) +\curveto(476.701,384.301)(477.301,381.701)(477.301,379.301) +\curveto(477.301,376.301)(476.301,373.501)(474.701,370.901) +\lineto(474.701,366.701) +\curveto(477.6,370.301)(479.801,374.401)(479.801,379.301) +\curveto(479.801,382.401)(478.501,386.201)(476.402,389.801) +\curveto(476.402,389.801)(476.301,390.101)(476.502,390.401) +\curveto(481.202,396.101)(486.302,398.301)(494.002,398.001) +\curveto(495.902,394.801)(496.002,387.401)(495.902,382.801) +\curveto(486.301,379.201)(483.702,371.901)(483.801,364.601) +\curveto(483.801,357.801)(485.701,350.701)(485.701,344.901) +\curveto(485.701,341.301)(485.001,338.401)(483.001,336.401) +\curveto(482.501,335.901)(482.501,335.101)(483.001,334.701) +\curveto(483.201,334.501)(483.601,334.301)(483.901,334.301) +\curveto(484.201,334.301)(484.501,334.401)(484.8,334.701) +\curveto(487.5,337.401)(488.3,341.101)(488.3,344.901) +\curveto(488.3,351.101)(486.401,358.201)(486.401,364.601) +\curveto(486.501,371.801)(487.501,377.901)(497.1,381.201) +\curveto(497.3,381.301)(498.701,381.301)(499.1,381.301) +\curveto(505.6,381.101)(510.901,374.201)(510.901,374.201) +\curveto(492.2,375.9)(515.8,321.6)(468.7,321.6) +\closepath +\moveto(200.6,450.7) +\lineto(200.6,448.7) +\lineto(200.6,448.5) +\lineto(200.6,448.3) +\curveto(200.6,448.2)(200.5,447.7)(200.3,446.9) +\curveto(205.2,447.9)(210.7,448.4)(216.8,448.4) +\curveto(249.8,448.4)(297.4,431.9)(320.5,377.2) +\curveto(323.1,380.4)(325.6,383.6)(327.9,387) +\curveto(327.799,387.1)(327.7,387.2)(327.599,387.3) +\curveto(323.7,394.3)(310.9,416.4)(293.299,430.6) +\curveto(283.399,438.6)(274.399,443.8)(266.799,447.3) +\curveto(244.899,456.8)(221.599,459.5)(200.099,458.5) +\curveto(200.6,456)(200.6,453.5)(200.6,450.7) +\closepath +\moveto(391.4,504.8) +\curveto(410.299,480.3)(423.2,447.4)(423.2,413.5) +\curveto(423.2,380)(410.5,345.4)(378.7,317.2) +\curveto(382.3,316)(385.5,313.8)(388,311.4) +\curveto(389.6,309.799)(391,308.099)(392.1,306.299) +\curveto(428.8,340.799)(442.701,377.599)(442.701,411.899) +\curveto(442.701,449.199)(426.201,483.599)(404.001,508.799) +\curveto(397.901,515.699)(391.401,521.899)(384.701,527.199) +\curveto(365.401,539.699)(345.301,546.699)(327.901,546.699) +\curveto(320.501,546.699)(313.701,545.499)(307.401,542.999) +\curveto(312.501,544.599)(317.8,545.399)(323.1,545.399) +\curveto(347.6,545.5)(372.5,529.3)(391.4,504.8) +\closepath +\moveto(287.4,329.7) +\curveto(289.7,330.4)(291.9,330.8)(294.1,330.8) +\curveto(295,330.8)(295.9,330.7)(296.7,330.6) +\curveto(298.3,332.3)(300.4,333.5)(302.5,334.4) +\curveto(305.8,335.7)(309.5,336.4)(313.2,336.4) +\curveto(316.7,336.3)(320.099,335.9)(323.099,334.3) +\curveto(325.599,335.5)(328.299,336.1)(330.999,336.3) +\curveto(359.999,368.6)(370.899,401.5)(370.899,430.6) +\curveto(370.899,457.2)(361.699,480.6)(348.499,497.3) +\curveto(337.699,511)(318.899,524)(301.599,524.2) +\curveto(309.899,521.3)(319.799,519.9)(333.699,500.8) +\curveto(345.598,484.3)(354.699,460.9)(354.699,438.2) +\curveto(354.699,428.8)(353.098,419.2)(349.598,409.8) +\curveto(339.699,383.7)(322.899,365.9)(305.898,348.7) +\curveto(299.6,342.4)(293.4,336.2)(287.4,329.7) +\closepath +\moveto(343.5,419.6) +\curveto(352.3,470.2)(320.7,503.9)(303.8,514.5) +\curveto(302.5,515.3)(301.2,516)(299.9,516.7) +\curveto(319.2,496.8)(330.8,461.9)(330.9,427.5) +\curveto(330.9,417.8)(330,408.1)(328,398.8) +\curveto(329.4,396.5)(330.6,394.5)(331.5,392.9) +\curveto(335.3,399)(338.6,405.6)(341.3,412.8) +\curveto(342.2,415)(342.9,417.3)(343.5,419.6) +\closepath +\moveto(259.7,291.3) +\lineto(259.7,291.3) +\lineto(259.7,291.3) +\lineto(259.7,291.3) +\closepath +\moveto(396,240.9) +\curveto(398.4,243.2)(399.1,244.5)(401.9,247.599) +\lineto(403.799,250.4) +\lineto(404.299,251.4) +\curveto(406.4,255.099)(407.099,258.5)(407.099,261.7) +\curveto(407.2,268.099)(403.599,273.4)(400.299,275.5) +\lineto(397.199,277.5) +\lineto(398.699,280.9) +\lineto(398.699,281) +\curveto(398.699,281.1)(398.799,281.2)(398.799,281.4) +\curveto(398.9,281.799)(398.9,282.299)(398.9,282.9) +\curveto(398.9,284.7)(398.4,287)(397.099,289) +\curveto(395.7,291)(393.599,292.9)(389.4,294) +\lineto(386.2,294.8) +\lineto(386.2,298.1) +\curveto(386.3,299.1)(384.9,302.6)(382.099,305.1) +\curveto(379.299,307.8)(375.7,309.6)(372.099,309.6) +\lineto(367.799,309.6) +\lineto(367.799,314) +\curveto(367.799,314)(367.699,314.6)(367.099,315.4) +\curveto(366.499,316.2)(365.4,317.299)(363.999,318.2) +\curveto(361.199,320)(357.299,321.4)(353.999,321.4) +\curveto(352.799,321.4)(351.699,321.2)(350.699,320.9) +\lineto(348.199,320.099) +\lineto(346.399,321.9) +\curveto(343.598,324.799)(337.598,327.5)(332.399,327.5) +\curveto(329.699,327.5)(327.298,326.9)(325.399,325.5) +\lineto(322.399,323.4) +\lineto(319.8,326) +\curveto(319.3,326.7)(316.5,327.7)(313.2,327.7) +\curveto(310.599,327.7)(307.8,327.2)(305.8,326.4) +\curveto(303.7,325.6)(302.7,324.4)(302.7,324.2) +\lineto(301.1,320.099) +\lineto(297,321.7) +\curveto(296.3,322)(295.3,322.2)(294.1,322.2) +\curveto(290.2,322.2)(285.1,320.2)(282.4,315.2) +\lineto(281.2,313) +\lineto(273.4,313) +\curveto(268.4,306.4)(263.8,299.2)(259.8,291.3) +\lineto(259.8,291.3) +\lineto(259.8,291.3) +\curveto(259.8,291.3)(258,288.8)(255.8,283.901) +\curveto(266.3,301.001)(284,315.201)(311.6,315.3) +\curveto(320.401,315.3)(330.1,313.901)(340.901,310.6) +\curveto(374.8,300.5)(383.501,280.8)(383.501,262) +\curveto(383.501,244.3)(376.001,227.3)(375.201,219.6) +\curveto(375.1,218.6)(375.001,217.701)(375.001,216.8) +\curveto(375.001,206.401)(381.601,201.6)(387.701,201.6) +\curveto(391.701,201.6)(395.401,203.6)(397.301,207.5) +\curveto(397.101,207.3)(396.902,207.2)(396.701,207) +\curveto(395.1,205.9)(393.201,205.4)(391.201,205.4) +\curveto(389.001,205.4)(386.501,206.099)(384.6,207.9) +\curveto(382.6,209.7)(379.401,213.799)(380.701,220.599) +\curveto(382,227.3)(388.6,233.7)(396,240.9) +\closepath +\moveto(214.3,227) +\curveto(219.4,223.4)(225.2,220.3)(230.1,219.2) +\curveto(223.6,228.599)(218.3,240.2)(215.7,254.3) +\curveto(213.2,255)(210.9,255.5)(208.9,255.901) +\curveto(208.8,256.001)(208.6,256.201)(208.5,256.3) +\curveto(208.6,255.7)(208.6,255.1)(208.6,254.5) +\curveto(208.6,250.2)(207,243.5)(201.1,239.5) +\curveto(202.8,236.7)(208.1,231.4)(214.3,227) +\closepath +\moveto(261.2,156.2) +\curveto(269.1,159.8)(269.7,169.599)(269.7,174) +\curveto(269.7,175.7)(268.6,178.1)(266.6,180) +\curveto(265.3,181.3)(263.6,182.4)(261.8,183) +\curveto(260,183.2)(258.2,183.5)(256.5,183.9) +\curveto(254.4,184.4)(252.5,184.599)(250.7,184.599) +\curveto(242.7,184.599)(238.1,179.7)(233.1,174.999) +\curveto(232.6,173.399)(232.2,171.399)(232.2,169.199) +\curveto(232.2,165.098)(233.3,160.499)(236,156.999) +\curveto(238.1,154.399)(241,152.299)(245.2,151.399) +\curveto(248.8,150.999)(255.6,152.699)(261.2,155.899) +\lineto(261.2,156.2) +\closepath +\moveto(234.1,155.6) +\curveto(230.9,159.701)(229.7,164.8)(229.7,169.3) +\curveto(229.7,170.3)(229.8,171.3)(229.9,172.2) +\curveto(226.3,169.099)(222.2,166.5)(216.3,166) +\curveto(213.3,165.8)(210.2,165.7)(207.1,165.7) +\curveto(204.5,165.7)(201.9,165.7)(199.3,165.8) +\curveto(196.7,165.8)(194.2,165.901)(191.7,165.901) +\curveto(178.1,165.901)(166.8,164.401)(166.7,153.501) +\curveto(166.8,148.501)(169.1,141.601)(174.5,132.101) +\curveto(174.5,132.101)(175.3,130.801)(176.8,128.902) +\curveto(175.4,132.301)(174.6,135.801)(174.6,139.402) +\curveto(174.6,142.902)(175.4,146.402)(177.2,149.502) +\curveto(178.7,152.102)(181.1,153.702)(183.8,154.502) +\curveto(186.5,155.302)(189.4,155.502)(192.5,155.502) +\curveto(196.5,155.502)(200.7,155.202)(204.7,155.202) +\curveto(210.8,155.202)(216.2,156.002)(219.5,159.402) +\lineto(219.5,159.402) +\curveto(220.2,160.101)(221.4,160.101)(222.1,159.402) +\curveto(222.8,158.702)(222.8,157.502)(222.1,156.801) +\curveto(217.5,152.201)(211,151.501)(204.6,151.501) +\curveto(200.4,151.501)(196.2,151.901)(192.4,151.801) +\curveto(189.5,151.801)(186.8,151.601)(184.8,150.902) +\curveto(182.7,150.202)(181.3,149.301)(180.3,147.601) +\curveto(178.9,145.202)(178.2,142.402)(178.2,139.402) +\curveto(178.2,134.402)(180.1,129.002)(183.2,124.702) +\curveto(186.3,120.402)(190.4,117.502)(194.7,116.902) +\curveto(195.6,116.801)(196.5,116.702)(197.2,116.702) +\curveto(201.8,116.802)(204,118.502)(205.7,121.402) +\curveto(207.4,124.301)(208.1,128.601)(208.7,132.702) +\curveto(208.8,133.202)(209.1,133.702)(209.6,134.002) +\curveto(220.6,140.802)(221.6,145.802)(224.9,149.102) +\curveto(225.6,149.802)(226.8,149.802)(227.5,149.102) +\curveto(228.2,148.403)(228.2,147.203)(227.5,146.502) +\curveto(225.4,144.502)(223.2,138.202)(212.3,131.302) +\curveto(211.7,127.302)(211,123.102)(209,119.502) +\curveto(207.2,116.202)(204.1,113.602)(199.5,113.002) +\curveto(203.2,112.102)(207.2,111.902)(211.5,112.602) +\curveto(228.1,120.302)(238.5,140.002)(242.8,149.403) +\curveto(239.1,150.8)(236.1,153)(234.1,155.6) +\closepath +\moveto(178.4,227) +\curveto(182.2,223.2)(191.4,221.9)(195.9,226.3) +\curveto(198,221.1)(212,186.6)(270.9,187.401) +\curveto(264.4,189.401)(255.1,193.6)(245.2,202.201) +\curveto(241,205.901)(236.9,210.1)(233.1,215.1) +\curveto(226.3,215.401)(218.7,219.401)(212.1,224) +\curveto(206,228.4)(200.9,233.2)(198.4,236.8) +\curveto(195.7,236.1)(193.2,235.8)(191,235.8) +\curveto(185.4,235.8)(181,237.8)(178.1,240.901) +\curveto(175.2,244.001)(173.9,248.001)(173.9,251.8) +\curveto(173.9,254)(174.3,256.1)(175.2,258) +\curveto(171.3,255.5)(168.2,252.6)(166.7,250.6) +\curveto(133.8,254.701)(116.2,252.3)(109.6,246.8) +\curveto(104.4,236.3)(100,215.901)(133.4,206.2) +\curveto(132.1,207.5)(132.3,208.8)(133.1,210) +\curveto(129,211)(125.4,212.6)(122.4,214.7) +\curveto(116.7,218.7)(113.4,224.599)(113.4,231.599) +\curveto(113.4,232.099)(113.4,232.599)(113.5,233.099) +\curveto(113.7,236.9)(115.5,239.7)(118.2,241.2) +\curveto(120.9,242.7)(124.2,243.099)(127.8,243.099) +\curveto(134.7,243.099)(143.1,241.599)(150.6,241.599) +\curveto(158.5,241.599)(165,243.099)(168.6,248.7) +\lineto(168.6,248.7) +\curveto(169.2,249.599)(170.3,249.8)(171.2,249.2) +\curveto(172.1,248.599)(172.3,247.5)(171.7,246.599) +\curveto(167,239.4)(158.8,237.799)(150.6,237.799) +\curveto(142.6,237.799)(134.2,239.299)(127.8,239.299) +\curveto(124.5,239.299)(121.7,238.9)(120,237.9) +\curveto(118.3,236.9)(117.4,235.7)(117.2,232.799) +\lineto(117.2,231.499) +\curveto(117.2,225.699)(119.7,221.099)(124.6,217.599) +\curveto(129.3,214.299)(136.3,212.299)(145.2,212.2) +\curveto(148.4,215.599)(149.9,219.099)(149.8,221.5) +\curveto(149.8,222.1)(149.7,222.6)(149.6,223) +\curveto(149.4,223.7)(149.6,224.4)(150.1,224.9) +\curveto(151.3,226.099)(152.8,226.5)(154.2,226.799) +\curveto(155.7,227.099)(157.3,227.4)(159,227.9) +\curveto(162.4,228.9)(166.2,230.599)(170.1,235.7) +\curveto(170.7,236.5)(171.9,236.7)(172.7,236.099) +\curveto(173.5,235.499)(173.7,234.299)(173.1,233.499) +\curveto(166.6,224.799)(159,224.099)(155.1,223.199) +\curveto(154.4,223.098)(153.9,222.899)(153.5,222.699) +\curveto(153.6,222.299)(153.6,221.899)(153.6,221.499) +\curveto(153.6,217.499)(151.4,213.099)(147.3,209.099) +\curveto(147.1,208.9)(146.8,208.7)(146.5,208.599) +\curveto(146.5,207.9)(146.2,207.2)(145.4,206.4) +\curveto(153.2,205.7)(163.5,203.299)(168.5,208.299) +\curveto(173.4,213.3)(174.9,223.5)(178.4,227) +\closepath +\moveto(137.5,369.6) +\curveto(138.8,371.1)(150.4,383.1)(157.7,388.3) +\curveto(150.7,386.6)(139.4,380.6)(129.8,372.9) +\curveto(131.7,371.5)(135.2,369.9)(137.5,369.6) +\closepath +\moveto(139.8,354.8) +\curveto(144.9,360)(162.2,379.5)(161.1,383.3) +\curveto(155.1,377.5)(150.2,373.2)(147.6,370.2) +\curveto(143.7,365.7)(141,361.9)(139.8,354.8) +\closepath +\moveto(112.4,270.4) +\curveto(112.4,281.4)(130.8,280)(133.9,291.9) +\curveto(137.4,305.2)(123.1,305.799)(129.8,316.2) +\curveto(120.1,322.7)(110.1,319.099)(110.1,327.2) +\curveto(110.1,335.4)(128.6,339.3)(135.6,363.3) +\curveto(135.6,363.3)(133.7,358.2)(128.3,353.7) +\curveto(113.3,341.3)(96,340.4)(95.4,324) +\curveto(94.7,306.2)(114.8,294.5)(107.6,287.3) +\curveto(100.6,280.3)(108.9,273.9)(112.4,270.4) +\closepath +\moveto(191.5,437.6) +\curveto(197.2,430.6)(211.2,411.6)(211.2,392.9) +\curveto(211.2,385.5)(208.9,378)(202.9,371.7) +\curveto(245.8,352.7)(214.3,317.599)(219.2,256.099) +\curveto(223.3,232.4)(235.3,215.9)(247.7,204.999) +\curveto(259.6,194.499)(270.3,187.999)(279.2,187.999) +\curveto(279.4,187.999)(280.4,188.199)(280.6,188.299) +\curveto(267.1,193.199)(254.7,205.299)(248.9,216.799) +\curveto(246.1,222.4)(243.7,229.299)(242.6,235.099) +\curveto(241.6,240.599)(241.5,243.299)(241.5,249.999) +\curveto(241.5,277.999)(252,295.099)(252,295.099) +\curveto(264.7,320.299)(282.8,337.599)(299.7,354.7) +\curveto(306,361)(312.099,367.4)(317.7,374) +\curveto(295.5,428.5)(248.9,444.7)(216.7,444.7) +\curveto(210.1,444.7)(204.2,444)(199.2,442.9) +\lineto(199.2,442.9) +\curveto(198.9,442.8)(198.6,442.8)(198.3,442.9) +\curveto(196.9,441.1)(194.8,439.1)(191.5,437.6) +\closepath +\moveto(351.3,167.9) +\curveto(347.7,163.4)(341.1,158.9)(329.7,155.5) +\curveto(316.8,151.7)(304.7,149.7)(294,149.7) +\curveto(283.8,149.7)(274.7,151.5)(267,155) +\curveto(266.1,154.3)(265.1,153.6)(264,153) +\curveto(261.7,148.3)(258.3,145.3)(253.8,143.4) +\curveto(294.6,128)(363.6,139.299)(381.7,155.2) +\lineto(381.7,156.4) +\curveto(381.7,159.099)(381.8,161.5)(382,163.7) +\lineto(381,163.7) +\curveto(368.4,163.7)(358.6,165.7)(351.3,167.9) +\closepath +\moveto(396,161.5) +\curveto(399.4,161.5)(402.8,162.1)(405.9,163.2) +\curveto(413.9,164.8)(421.4,168.099)(427.099,171) +\curveto(409.599,165.8)(394.999,163.9)(382.9,163.7) +\curveto(386.4,162.4)(390.7,161.5)(396,161.5) +\closepath +\moveto(414.5,154.1) +\curveto(410.6,140.5)(433.7,139.6)(443.2,141.701) +\curveto(441.5,142.701)(440.099,144.301)(439.3,146.801) +\curveto(438.2,150.201)(439.401,153.402)(441.401,155.601) +\curveto(435,158.9)(418.3,167.3)(414.5,154.1) +\closepath +\moveto(553,374.7) +\curveto(550.8,446.1)(503.9,525.6)(428.7,533.7) +\curveto(423.099,527.5)(418.2,521.4)(413.9,515.4) +\curveto(417.799,511.7)(421.599,507.9)(425.299,503.8) +\curveto(425.499,503.6)(425.699,503.3)(425.9,503.1) +\curveto(426.5,503.6)(427.2,504.1)(427.799,504.6) +\curveto(445.999,517.4)(483.099,519.7)(498.699,487.7) +\curveto(514.098,456.1)(484.899,432.1)(484.899,432.1) +\curveto(481.598,429.2)(475.699,426.3)(468.798,424.9) +\curveto(469.998,420.5)(470.998,416.1)(471.899,411.6) +\lineto(472.098,411.6) +\curveto(491.598,413.1)(513.498,401.4)(517.498,373.2) +\curveto(525.298,318)(470.098,296.3)(452.198,290.099) +\curveto(449.597,288.9)(448.798,287.099)(448.798,287.099) +\curveto(453.498,286.4)(457.598,282.7)(460.098,277.7) +\curveto(461.298,275.2)(461.798,273)(461.798,271) +\curveto(461.798,266.2)(458.698,262.6)(454.399,260.1) +\curveto(450.098,257.6)(444.499,256.401)(440.499,256.401) +\curveto(438.699,256.401)(437.099,256.701)(436.199,257.1) +\curveto(435.699,257.3)(435.399,257.5)(435.299,257.701) +\curveto(435.4,258.1)(435.499,258.6)(435.699,259.001) +\curveto(439.199,266.801)(458.199,258.001)(454.799,275.301) +\curveto(453.699,280.701)(450.699,283.101)(446.599,283.501) +\curveto(431.499,261.501)(413.599,246.301)(401.7,234.801) +\curveto(394.4,227.902)(388.8,223.301)(387.599,219.701) +\curveto(387.2,218.501)(386.2,214.901)(388.499,212.501) +\curveto(389.099,211.901)(389.999,211.101)(390.899,211.001) +\curveto(396.999,210.001)(397.699,216.801)(397.699,216.801) +\curveto(398.699,215.501)(399.299,214.001)(399.299,212.402) +\curveto(399.299,212.002)(399.199,211.601)(399.199,211.202) +\lineto(399.199,210.902) +\curveto(398.199,204.002)(392.899,200.402)(387.399,200.402) +\lineto(387.3,200.402) +\curveto(383.901,200.402)(380.401,201.801)(377.7,204.502) +\curveto(375,207.302)(373.3,211.402)(373.3,216.902) +\curveto(373.3,217.801)(373.401,218.801)(373.5,219.801) +\curveto(374.4,227.902)(381.8,244.701)(381.8,262.101) +\curveto(381.8,280.501)(373.6,299.402)(340.1,309.501) +\curveto(329.401,312.701)(319.8,314.101)(311.1,314.101) +\curveto(279.5,314.101)(261.1,295.101)(251.8,274.702) +\curveto(249.7,268.002)(247.8,259.402)(247.3,248.902) +\curveto(247.1,244.502)(247.5,239.202)(248,235.301) +\curveto(248.6,231.301)(251.1,222.902)(253.8,217.301) +\curveto(259.6,205.701)(268.2,194.601)(279.7,189.801) +\lineto(281.5,189.101) +\curveto(287.4,190.402)(290.8,191.601)(297.2,193.902) +\lineto(298.7,194.402) +\curveto(308.9,198.101)(318.5,201.601)(327.8,201.601) +\curveto(333.8,201.601)(339,200.301)(343.7,197.301) +\curveto(344.3,197.001)(344.8,196.601)(345.3,196.201) +\lineto(348.2,193.901) +\lineto(348.2,193.901) +\lineto(348.9,193.201) +\curveto(352.5,189.401)(355.2,183.901)(354.799,178.1) +\curveto(354.599,175.701)(353.9,172.901)(352.199,170.1) +\curveto(359.199,168)(368.499,166.201)(380.499,166.201) +\curveto(394.799,166.201)(413.099,168.801)(435.899,176.701) +\lineto(435.999,176.701) +\curveto(436.099,176.701)(436.099,176.801)(436.099,176.801) +\curveto(474.299,176.801)(459.099,152.101)(454.9,157.001) +\curveto(450.299,162.201)(439.4,154.801)(442.5,146.301) +\curveto(447.2,133.101)(468.7,144.801)(471,153.501) +\curveto(466.6,124.701)(421.8,137.001)(411.5,138.401) +\curveto(399.4,140.1)(394.5,128.901)(396.2,118.6) +\curveto(397.599,110.1)(392.3,102.3)(389.9,100) +\curveto(407,96.7)(415.099,111.2)(421.799,115.8) +\curveto(428.599,120.5)(453.199,118.2)(467.099,128.901) +\curveto(481,139.5)(479.2,165.1)(479.2,168.1) +\curveto(482.4,169.401)(493.2,173.8)(493.2,186.201) +\curveto(493.2,197.001)(485.2,202.401)(477,201.401) +\curveto(467.9,200.3)(465.2,189.1)(475.5,188.901) +\curveto(473.2,191.201)(475.9,194.701)(479,193.001) +\curveto(483.7,190.401)(478.4,182.601)(468.7,184.201) +\curveto(465.3,184.801)(457.599,185.901)(450.3,186.901) +\curveto(505.7,215.9)(556.1,275.2)(553,374.7) +\closepath +\moveto(435.5,254.8) +\curveto(436.9,254.2)(438.7,254)(440.8,254) +\curveto(445.401,254)(451.2,255.3)(456,258) +\curveto(460.8,260.7)(464.7,265.1)(464.7,271) +\curveto(464.7,273.4)(464.099,276)(462.7,278.8) +\curveto(462,280.2)(461.3,281.3)(460.4,282.3) +\curveto(465.2,278.6)(467.599,275)(468.599,271.8) +\curveto(468.799,271)(468.999,270.2)(469.2,269.5) +\curveto(469.3,268.7)(469.4,268)(469.4,267.3) +\curveto(469.4,264.8)(468.799,262.6)(468.099,260.901) +\curveto(464.7,251.5)(455.8,247.1)(445.9,247) +\curveto(444.299,247)(442.599,247.1)(441,247.4) +\curveto(438.3,248.9)(435.9,251.7)(435.4,255) +\curveto(435.4,254.8)(435.4,254.8)(435.5,254.8) +\closepath +\moveto(436.1,245.8) +\curveto(439.3,244.901)(442.6,244.5)(445.8,244.5) +\lineto(445.901,244.5) +\curveto(456.401,244.5)(466.401,249.4)(470.3,259.8) +\curveto(470,250.5)(465.3,246.401)(458.901,243.1) +\curveto(452.3,239.701)(444.001,237.6)(438.001,232.6) +\curveto(433.201,228.6)(431.201,223.701)(431.201,218.8) +\curveto(431.201,211.8)(435.1,204.8)(440.1,199) +\curveto(405,220.5)(420.6,241.6)(436.1,245.8) +\closepath +\moveto(452.6,224.5) +\curveto(439.8,220.2)(441.8,205.1)(443.201,199.1) +\curveto(437.801,204.901)(433.701,212.1)(433.701,218.701) +\curveto(433.701,222.901)(435.301,227.001)(439.6,230.6) +\curveto(445,235.201)(453.1,237.3)(460,240.8) +\curveto(466.9,244.3)(472.8,249.7)(472.8,260.401) +\curveto(472.8,263.201)(472.401,266.3)(471.6,269.8) +\curveto(470.701,275.8)(466.201,282.8)(453.8,289.401) +\curveto(463.901,288.701)(482.7,284.201)(486,265.001) +\curveto(489.7,243.8)(468.7,229.9)(452.6,224.5) +\closepath +\moveto(281.2,184.7) +\curveto(276.6,183.599)(272,182.9)(267.3,182.8) +\curveto(267.7,182.5)(268,182.2)(268.4,181.901) +\curveto(270.7,179.6)(272.2,176.901)(272.3,174.1) +\curveto(272.3,170.8)(272.1,164.1)(268.3,159) +\curveto(270.5,156.8)(281.7,154.5)(281.7,154.5) +\curveto(283.1,154.3)(284,154.4)(285,154.4) +\curveto(288.3,154.4)(290.7,156.2)(292.5,159.099) +\curveto(294.2,161.999)(295.1,165.999)(295.1,169.799) +\curveto(295.1,170.799)(295,171.9)(294.9,172.9) +\curveto(293.8,180.5)(289.1,184.9)(281.9,184.9) +\curveto(281.6,184.7)(281.4,184.7)(281.2,184.7) +\closepath +\moveto(298.9,190.4) +\curveto(295.1,189)(291.3,187.599)(287.4,186.4) +\curveto(292.9,184.5)(296.6,179.599)(297.4,173) +\curveto(297.5,171.9)(297.6,170.8)(297.6,169.6) +\curveto(297.6,165.401)(296.6,161)(294.6,157.6) +\curveto(293.7,156.1)(292.6,154.8)(291.3,153.8) +\curveto(298.5,153.6)(305.7,154.3)(312.5,155.5) +\lineto(312.5,155.5) +\curveto(320.6,156.6)(325.2,166.3)(325.2,174.5) +\curveto(325.2,175.6)(325.099,176.7)(324.9,177.7) +\curveto(323.7,185.099)(316.599,193.3)(307.4,193.3) +\curveto(304.7,192.5)(301.8,191.4)(298.9,190.4) +\closepath +\moveto(342.3,194) +\curveto(337.901,196.9)(333.2,198)(328.3,198) +\curveto(323.401,198)(318.2,196.9)(312.8,195.2) +\curveto(320.8,192.7)(326.3,185.3)(327.5,178.3) +\curveto(327.7,177.1)(327.8,175.901)(327.8,174.6) +\curveto(327.8,168.701)(325.6,161.8)(321.3,157.5) +\curveto(323.901,158.1)(326.3,158.8)(328.7,159.5) +\curveto(337.9,162.2)(351.099,169)(351.8,178.4) +\lineto(351.8,178.299) +\curveto(351.8,178.699)(351.901,178.999)(351.901,179.4) +\curveto(351.7,186.1)(346.1,191.3)(342.3,194) +\closepath +\moveto(124.6,372.3) +\curveto(139.1,383.8)(159.7,393.3)(163.6,389.4) +\curveto(167.5,385.5)(151.7,361.4)(135,344.7) +\curveto(148.8,344.7)(163.4,347.4)(194.7,374.5) +\curveto(198.5,380.2)(200,386.1)(200,392) +\curveto(200.1,410.6)(184.6,429)(178.3,435.6) +\curveto(170.3,436.8)(167.6,442.5)(167.5,442.8) +\lineto(167.4,443.1) +\lineto(167.3,443.4) +\curveto(167.3,443.6)(166.4,448.1)(166.9,454.1) +\curveto(145,449.2)(128.2,441.5)(121.7,436.1) +\curveto(121.7,436.1)(123.6,433.7)(122.8,428.8) +\curveto(126.4,427.3)(132.4,435.8)(140.9,432.2) +\curveto(148.2,429)(154.9,422.4)(162.3,423.4) +\lineto(163,420.3) +\curveto(155,418)(147.7,426)(140.2,428.8) +\curveto(132.4,431.8)(126.3,423.4)(122.1,425.9) +\curveto(121.8,424.9)(121.3,423.7)(120.7,422.5) +\curveto(121.3,418.1)(124.1,412.6)(128.3,409.3) +\curveto(128.4,409.2)(128.5,409)(128.5,408.8) +\curveto(128.5,408.6)(128.4,408.4)(128.3,408.3) +\curveto(125.1,405.7)(106.6,392.3)(101.8,387.6) +\curveto(102.1,387.4)(102.4,387.2)(102.8,387) +\curveto(109.4,382.9)(117.4,378.9)(122.4,378.9) +\lineto(123.3,378.9) +\curveto(125.9,381)(147.7,395.5)(160.4,395.6) +\curveto(164.4,395.6)(167.7,394)(168.7,389.9) +\curveto(168.8,389.6)(168.6,389.2)(168.3,389.1) +\curveto(168,389)(167.6,389.2)(167.5,389.5) +\curveto(166.6,392.9)(164.1,394.2)(160.4,394.2) +\curveto(148.2,394.3)(124.9,378.7)(124,377.7) +\curveto(123.9,377.6)(123.8,377.5)(123.6,377.5) +\curveto(123.2,377.5)(122.8,377.4)(122.4,377.4) +\curveto(112.4,377.5)(94.5,390.6)(90.8,393.4) +\curveto(93.6,385.4)(108,374.8)(124.6,372.3) +\closepath +\moveto(136,408.7) +\curveto(126.6,410.2)(125.5,420.7)(125.5,420.7) +\curveto(127.8,426.2)(141.1,427.3)(148.8,416.8) +\curveto(148.8,416.8)(143.4,407.5)(136,408.7) +\closepath +\moveto(184.9,262.5) +\curveto(180.7,260.4)(177.7,256.6)(177.7,251.9) +\curveto(177.8,245.9)(181.7,239.599)(191.1,239.5) +\curveto(193.1,239.5)(195.4,239.8)(198,240.5) +\curveto(204.4,243.5)(206.2,250.2)(206.2,254.4) +\curveto(206.2,255.2)(206.1,255.9)(206,256.4) +\curveto(205.8,257.299)(205.6,258.2)(205.3,258.9) +\curveto(198.4,263.9)(191.2,264.2)(184.9,262.5) +\closepath +\moveto(100.7,388.4) +\curveto(105.3,392.9)(122.3,405.4)(126.8,408.8) +\curveto(122.9,412.1)(120.4,416.5)(119.7,420.8) +\curveto(119.4,420.2)(119,419.5)(118.5,418.9) +\curveto(112.3,409.2)(98.6,401.4)(90.8,395) +\curveto(91.5,394.5)(95.5,391.5)(100.6,388.2) +\curveto(100.7,388.3)(100.7,388.4)(100.7,388.4) +\closepath +\moveto(208.7,392.9) +\curveto(208.8,410.9)(194.2,430.5)(189,436.7) +\curveto(188.5,436.6)(188.1,436.4)(187.6,436.3) +\curveto(185.6,435.8)(183.7,435.6)(181.9,435.5) +\curveto(189,427.6)(202.4,410.4)(202.5,392.1) +\curveto(202.5,386)(201,379.9)(197.2,374) +\curveto(198.3,373.6)(199.4,373.2)(200.4,372.8) +\lineto(200.4,372.8) +\curveto(206.5,378.7)(208.7,385.7)(208.7,392.9) +\closepath +\moveto(159.6,456.1) +\curveto(157.3,460.5)(152.9,464.6)(140.5,471) +\curveto(133.4,463.1)(132.9,454)(134.1,447) +\curveto(141.3,450.6)(149.9,453.7)(159.6,456.1) +\closepath +\moveto(186.9,439.3) +\curveto(196.7,441.7)(197.5,448.8)(197.5,448.8) +\curveto(197.5,457.5)(198.9,461.8)(183.6,477.1) +\curveto(165.7,466.7)(170.3,444.2)(170.3,444.2) +\curveto(170.3,444.2)(174,436.1)(186.9,439.3) +\closepath +} +} +\end{pspicture} +\end{document} +%</bidi-logo.tex> +%<*bidisample2e.tex> +\documentclass{article} % Specifies the document class +\usepackage[RTLdocument]{bidi} + % The preamble begins here. +\title{An Example Document} % Declares the document's title. +\author{Leslie Lamport} % Declares the author's name. +\date{January 21, 1994} % Deleting this command produces today's date. + +\newcommand{\ip}[2]{(#1, #2)} + % Defines \ip{arg1}{arg2} to mean + % (arg1, arg2). + + % This is an alternative definition of + % \ip that is commented out. + +\begin{document} % End of preamble and beginning of text. + +\maketitle % Produces the title. + +This is an example input file. Comparing it with +the output it generates can show you how to +produce a simple document of your own. + +\section{Ordinary Text} % Produces section heading. Lower-level + % sections are begun with similar + % \subsection and \subsubsection commands. + +The ends of words and sentences are marked + by spaces. It doesn't matter how many +spaces you type; one is as good as 100. The +end of a line counts as a space. + +One or more blank lines denote the end +of a paragraph. + +Since any number of consecutive spaces are treated +like a single one, the formatting of the input +file makes no difference to + \LaTeX, % The \LaTeX command generates the LaTeX logo. +but it makes a difference to you. When you use +\LaTeX, making your input file as easy to read +as possible will be a great help as you write +your document and when you change it. This sample +file shows how you can add comments to your own input +file. + +Because printing is different from typewriting, +there are a number of things that you have to do +differently when preparing an input file than if +you were just typing the document directly. +Quotation marks like + ``this'' +have to be handled specially, as do quotes within +quotes: + ``\,`this' % \, separates the double and single quote. + is what I just + wrote, not `that'\,''. + +Dashes come in three sizes: an + intra-word +dash, a medium dash for number ranges like + 1--2, +and a punctuation + dash---like +this. + +A sentence-ending space should be larger than the +space between words within a sentence. You +sometimes have to type special commands in +conjunction with punctuation characters to get +this right, as in the following sentence. + Gnats, gnus, etc.\ all % `\ ' makes an inter-word space. + begin with G\@. % \@ marks end-of-sentence punctuation. +You should check the spaces after periods when +reading your output to make sure you haven't +forgotten any special cases. Generating an +ellipsis + \ldots\ % `\ ' is needed after `\ldots' because TeX + % ignores spaces after command names like \ldots + % made from \ + letters. + % + % Note how a `%' character causes TeX to ignore + % the end of the input line, so these blank lines + % do not start a new paragraph. + % +with the right spacing around the periods requires +a special command. + +\LaTeX\ interprets some common characters as +commands, so you must type special commands to +generate them. These characters include the +following: + \$ \& \% \# \{ and \}. + +In printing, text is usually emphasized with an + \emph{italic} +type style. + +\begin{em} + A long segment of text can also be emphasized + in this way. Text within such a segment can be + given \emph{additional} emphasis. +\end{em} + +It is sometimes necessary to prevent \LaTeX\ from +breaking a line where it might otherwise do so. +This may be at a space, as between the ``Mr.''\ and +``Jones'' in + ``Mr.~Jones'', % ~ produces an unbreakable interword space. +or within a word---especially when the word is a +symbol like + \mbox{\emph{itemnum}} +that makes little sense when hyphenated across +lines. + +Footnotes\footnote{This is an example of a footnote.} +pose no problem. + +\LaTeX\ is good at typesetting mathematical formulas +like + \( x-3y + z = 7 \) +or + \( a_{1} > x^{2n} + y^{2n} > x' \) +or + \( \ip{A}{B} = \sum_{i} a_{i} b_{i} \). +The spaces you type in a formula are +ignored. Remember that a letter like + $x$ % $ ... $ and \( ... \) are equivalent +is a formula when it denotes a mathematical +symbol, and it should be typed as one. + +\section{Displayed Text} + +Text is displayed by indenting it from the left +margin. Quotations are commonly displayed. There +are short quotations +\begin{quote} + This is a short quotation. It consists of a + single paragraph of text. See how it is formatted. +\end{quote} +and longer ones. +\begin{quotation} + This is a longer quotation. It consists of two + paragraphs of text, neither of which are + particularly interesting. + + This is the second paragraph of the quotation. It + is just as dull as the first paragraph. +\end{quotation} +Another frequently-displayed structure is a list. +The following is an example of an \emph{itemized} +list. +\begin{itemize} + \item This is the first item of an itemized list. + Each item in the list is marked with a ``tick''. + You don't have to worry about what kind of tick + mark is used. + + \item This is the second item of the list. It + contains another list nested inside it. The inner + list is an \emph{enumerated} list. + \begin{enumerate} + \item This is the first item of an enumerated + list that is nested within the itemized list. + + \item This is the second item of the inner list. + \LaTeX\ allows you to nest lists deeper than + you really should. + \end{enumerate} + This is the rest of the second item of the outer + list. It is no more interesting than any other + part of the item. + \item This is the third item of the list. +\end{itemize} +You can even display poetry. +\begin{verse} + There is an environment + for verse \\ % The \\ command separates lines + Whose features some poets % within a stanza. + will curse. + + % One or more blank lines separate stanzas. + + For instead of making\\ + Them do \emph{all} line breaking, \\ + It allows them to put too many words on a line when they'd rather be + forced to be terse. +\end{verse} + +Mathematical formulas may also be displayed. A +displayed formula +is +one-line long; multiline +formulas require special formatting instructions. + \[ \ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\] +Don't start a paragraph with a displayed equation, +nor make one a paragraph by itself. + +\end{document} % End of document. +%</bidisample2e.tex> +%<*bidismall2e.tex> +\documentclass{article} % Your input file must contain these two lines +\usepackage[RTLdocument]{bidi} +\begin{document} % plus the \end{document} command at the end. + +\section{Simple Text} % This command makes a section title. + +Words are separated by one or more spaces. Paragraphs are separated by +one or more blank lines. The output is not affected by adding extra +spaces or extra blank lines to the input file. + +Double quotes are typed like this: ``quoted text''. +Single quotes are typed like this: `single-quoted text'. + +Long dashes are typed as three dash characters---like this. + +Emphasized text is typed like this: \emph{this is emphasized}. +Bold text is typed like this: \textbf{this is bold}. + +\subsection{A Warning or Two} % This command makes a subsection title. + +If you get too much space after a mid-sentence period---abbreviations +like etc.\ are the common culprits)---then type a backslash followed by +a space after the period, as in this sentence. + +Remember, don't type the 10 special characters (such as dollar sign and +backslash) except as directed! The following seven are printed by +typing a backslash in front of them: \$ \& \# \% \_ \{ and \}. +The manual tells how to make other symbols. + +\end{document} % The input file ends with this command. +%</bidismall2e.tex> +%<*test1-colortbl.tex> +\documentclass{article} +\usepackage{fontspec} +\setmainfont[Mapping=farsidigits,Script=Arabic]{XB Kayhan} +\usepackage{hhline} +\usepackage{colortbl} +\usepackage[RTLdocument]{bidi} +\begin{document} +این فقط یک آزمایش است +\begin{center} +\setlength\arrayrulewidth{5pt} +\setlength\doublerulesep{5pt} + \renewcommand{\arraystretch}{2} + \definecolor{orange}{cmyk}{0,0.61,0.87,0} + \definecolor{indigo}{cmyk}{0.8,0.9,0,0} + \definecolor{violet}{cmyk}{0.6,0.9,0,0} + \newcommand\rainbowline[1]{% + \hhline{% + >{\arrayrulecolor {red}\doublerulesepcolor[rgb]{.3,.3,1}}% + |#1:=% + >{\arrayrulecolor{orange}\doublerulesepcolor[rgb]{.4,.4,1}}% + =% + >{\arrayrulecolor{yellow}\doublerulesepcolor[rgb]{.5,.5,1}}% + =% + >{\arrayrulecolor {green}\doublerulesepcolor[rgb]{.6,.6,1}}% + =% + >{\arrayrulecolor {blue}\doublerulesepcolor[rgb]{.7,.7,1}}% + =% + >{\arrayrulecolor{indigo}\doublerulesepcolor[rgb]{.8,.8,1}}% + =% + >{\arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1}}% + =:#1|% + }} + \arrayrulecolor{red} + \doublerulesepcolor[rgb]{.3,.3,1} + \begin{tabular}{||*7{>{\columncolor[gray]{.9}}c}||} + \rainbowline{t}% + \arrayrulecolor{violet}\doublerulesepcolor[rgb]{.9,.9,1} + وفا&خلیقی&یک&دانشجوی&ریاضی&است& + \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{حرف آخر}\\ + \rainbowline{}% + 1&2&3&4&5&6& + \multicolumn{1}{>{\columncolor[gray]{.9}}c||}{7}\\ + \rainbowline{b}% + \end{tabular} + \end{center} +این صرفاً یک آزمایش است +\end{document} +%</test1-colortbl.tex> +%<*test1-wrapfig.tex> +\documentclass{article} +\usepackage{wrapfig} +\usepackage{bidi} +\newcommand\sample{Some text for our page + that might get reused over and over again. } +\begin{document} +\section{LTR} +The starting place for the wrapfigure +environment was manually determined in +the current ex- + +\begin{wrapfigure}[7]{r}[0.2\width]{0pt} + \centering + \fbox{This is ``wrapfigure''.} + \caption{An example of the + \texttt{wrapfigure} environment} +\end{wrapfigure} +sample by first setting the text without +the figure to find the linebreaks. + +\sample \sample \sample\sample \sample \sample\sample + +\section{RTL} + +\setRTL +The starting place for the wrapfigure +environment was manually determined in +the current ex- + +\begin{wrapfigure}[7]{l}[0.2\width]{0pt} + \centering + \fbox{This is ``wrapfigure''.} + \caption{An example of the + \texttt{wrapfigure} environment} +\end{wrapfigure} +sample by first setting the text without +the figure to find the linebreaks. + +\sample \sample \sample\sample \sample \sample\sample +\end{document} +%</test1-wrapfig.tex> +%<*test2-colortbl.tex> +\documentclass{article} +\usepackage{fullpage} +\usepackage{fontspec} +\usepackage{colortbl} +\setmainfont[Scale=1,Script=Arabic,Mapping=farsidigits]{XB Kayhan} +\usepackage[RTLdocument]{bidi} +\begin{document} +این فقط یک آزمایش است + +\setlength{\extrarowheight}{2mm} +\setlength{\tabcolsep}{2mm} +\begin{center} +\begin{tabular}{|l|% +>{\columncolor{yellow}}c|c|>{\columncolor{yellow}}c|c|% +>{\columncolor{red}\bfseries}c<{\textsc{GBP}}|} +\hline +\multicolumn{3}{>{\columncolor{red}}r}{\color{white}\textbf{لَنْدَنْ}} +&\multicolumn{3}{>{\columncolor{red}}l}{\color{white}\textbf{قیمت}} +\\[1pt] +\hline +سیدنی & OG4G &سشنبه ۱۰ اکتبر &دوشنبه ۲۱ اکتبر یا ۲۸ام &11 یا ۱۸ روز &999\\ +& &سشنبه ۱۷ اکتبر &دوشنبه ۲۱ اکتبر یا ۲۸ام & 4 یا ۱۱ روز &999\\ +& OG7A &یکشنبه ۱۱ اکتبر &دوشنبه ۲۱ اکتبر یا ۲۸ام & 8 یا ۱۵ روز &999\\ +& &یکشنبه ۲۰ اکتبر &دوشنبه ۲۸ اکتبر & 8 روز &999\\ +\hline +\end{tabular} +\end{center} +\end{document} +%</test2-colortbl.tex> +%<*test2-wrapfig.tex> +\documentclass{article} +\usepackage{wrapfig} +\usepackage{bidi} +\newcommand\sample{Some text for our page + that might get reused over and over again. } +\begin{document} +\section{LTR} +\begin{wraptable}[4]{l}{4cm} + \centering +\fbox{This is ``wraptable''.} + \caption{The Caption}\label{T1} +\end{wraptable} + +\sample \sample Reference to Table~\ref{T1}. +\sample + +\section{RTL} +\setRTL + +\begin{wraptable}[4]{r}{4cm} + \centering +\fbox{This is ``wraptable''.} + \caption{The Caption}\label{T2} +\end{wraptable} + +\sample \sample Reference to Table~\ref{T2}. +\sample +\end{document} +%</test2-wrapfig.tex> +%<*test3-wrapfig.tex> +\documentclass[a4paper,12pt]{article} + +\usepackage{graphicx} +\usepackage{wrapfig} +\usepackage{bidi} +\begin{document} +\section{LTR} +\subsection*{Wrapfig test} + + +Gulls are birds in the family Laridae. They are most closely + related to the terns (family Sternidae), auks and skimmers, +and more distantly to the waders. Most gulls belong to the +large genus Larus. + +\begin{wrapfigure}{r}{0.5\textwidth} + \begin{center} + \includegraphics[width=0.48\textwidth]{gull} + \end{center} + \caption{A gull} +\end{wrapfigure} + +They are in general medium to large birds, typically grey or white, +often with black markings on the head or wings. They have stout, +longish bills and webbed feet. + +Most gulls, particularly Larus species, are ground nesting carnivores, +which will take live food or scavenge opportunistically. The live food +often includes crabs and small fish. Apart from the kittiwakes, gulls +are typically coastal or inland species, rarely venturing far out to sea. +The large species take up to four years to attain full adult plumage, +but two years is typical for small gulls. + +Gulls---the larger species in particular---are resourceful and +highly intelligent birds, demonstrating complex methods of communication +and a highly developed social structure. Certain species (e.g. the +Herring Gull) have exhibited tool use behaviour. Many species of gull have +learned to co-exist successfully with man and have thrived in human habitats. +Others rely on kleptoparasitism to get their food. + +\newpage +\section{RTL} + +\setRTL +\subsection*{Wrapfig test} + + +Gulls are birds in the family Laridae. They are most closely + related to the terns (family Sternidae), auks and skimmers, +and more distantly to the waders. Most gulls belong to the +large genus Larus. + +\begin{wrapfigure}{l}{0.5\textwidth} + \begin{center} + \includegraphics[width=0.48\textwidth]{gull} + \end{center} + \caption{A gull} +\end{wrapfigure} + +They are in general medium to large birds, typically grey or white, +often with black markings on the head or wings. They have stout, +longish bills and webbed feet. + +Most gulls, particularly Larus species, are ground nesting carnivores, +which will take live food or scavenge opportunistically. The live food +often includes crabs and small fish. Apart from the kittiwakes, gulls +are typically coastal or inland species, rarely venturing far out to sea. +The large species take up to four years to attain full adult plumage, +but two years is typical for small gulls. + +Gulls---the larger species in particular---are resourceful and +highly intelligent birds, demonstrating complex methods of communication +and a highly developed social structure. Certain species (e.g. the +Herring Gull) have exhibited tool use behaviour. Many species of gull have +learned to co-exist successfully with man and have thrived in human habitats. +Others rely on kleptoparasitism to get their food. +\end{document} +%</test3-wrapfig.tex> +%<*test-arydshln.tex> +\documentclass{article} +\usepackage{arydshln} +\usepackage{bidi} +\title{Testing \textsf{arydshln} Package in LTR and RTL modes} +\author{} +\date{} +\begin{document} +\maketitle +\section{LTR Mode} +\begin{center} +\begin{tabular}{|l::c;{2pt/2pt}r|}\hline +A&B&C\\\hdashline[1pt/1pt] +AAA&BBB&CCC\\\cdashline{1-2}[.4pt/1pt] +\multicolumn{2}{|l;{2pt/2pt}}{AB}&C\\\hdashline\hdashline +\end{tabular} +\end{center} +\section{RTL Mode} +\begin{RTL} +\begin{center} +\begin{tabular}{|r::c;{2pt/2pt}l|}\hline +A&B&C\\\hdashline[1pt/1pt] +AAA&BBB&CCC\\\cdashline{1-2}[.4pt/1pt] +\multicolumn{2}{|r;{2pt/2pt}}{AB}&C\\\hdashline\hdashline +\end{tabular} +\end{center} +\end{RTL} +\end{document} +%</test-arydshln.tex> +%<*test-bidi.tex> +\documentclass{article} +\usepackage{bidi} +\title{Testing Basic Bidi Direction Change} +\author{Vafa Khalighi} +\begin{document} +\maketitle +In this document we test bidi direction change in \textsf{RTL} and \textsf{LTR}. These tests includes \texttt{flushleft}, \texttt{flushright} environments and \verb|\centerline{...}|, \verb|\leftline{...}|,\verb|\rightline{...}|,\verb|\raggedleft| and \verb|\raggedright| macros. +\section{RTL Test} +\setRTL +\begin{flushleft} +This is left in RTL +\end{flushleft} +\begin{flushright} +This is right in RTL +\end{flushright} +\centerline{This is center in RTL} + +\leftline{This is left in RTL} + +\rightline{This is right in RTL} + +\raggedleft This is raggedleft in RTL + +\raggedright This is raggedright in RTL + +\setLTR +\section{LTR Test} +\begin{flushleft} +This is left in LTR +\end{flushleft} +\begin{flushright} +This is right in LTR +\end{flushright} +\centerline{This is center in LTR} + +\leftline{This is left in LTR} + +\rightline{This is right in LTR} + +\raggedleft This is raggedleft in LTR + +\raggedright This is raggedright in LTR +\end{document} +%</test-bidi.tex> +%<*test-brochure.tex> +\documentclass[a4paper]{report} + +\usepackage[landscape,margin=1in]{geometry} +\usepackage{color} +\usepackage[RL]{flowfram}% we enable `RL' option for RTL multicolumn typesetting (see flowfram package documentation) +\usepackage[colorlinks,setpagesize=false]{hyperref} + +\usepackage[RTLdocument]{bidi} +% adjust \textheight so that it is an integer multiple of +% \baselineskip +\adjustheight{\textheight} + +% set up pagelayout. One column for title page +% two columns for the rest. +\onecolumninarea[1,2]{0.6\textwidth}{\textheight}{0.4\textwidth}{0pt} +\twocolumninarea[>2]{0.6\textwidth}{\textheight}{0.4\textwidth}{0pt} + +% Set up dynamic frame on the left. This is where +% the headings will go. + +\newdynamicframe{0.4\textwidth}{\textheight}{0pt}{0pt}[left] + +% put the chapter headings in this frame +\dfchaphead*{left} +% Modify the default style +\renewcommand{\DFchapterstyle}[1]{% +\raggedright\Huge\slshape\MakeUppercase{#1}\par} + +% Make static frames for background (only for page 1) +\vtwotone[1]{0.6\paperwidth}{[cmyk]{0.65,0.13,0,0}}{backleft}% +{0.4\paperwidth}{[cmyk]{0.94,0.54,0,0}}{backright} + +% Make a border along the top of each page +\vtwotonetop{1cm}{0.6\paperwidth}{[cmyk]{0.65,0.13,0,0}}{topleft}% +{0.4\paperwidth}{[cmyk]{0.94,0.54,0,0}}{topright} + +% make a static frame for the logo +\newstaticframe{0.2\textwidth}{0.25\textheight}{0pt}{0pt}[logo] + +% empty page style, because I am going to make my own +\pagestyle{empty} + +% Each new chapter sets \thispagestyle{\chapterfirstpagestyle}, change this empty as well +\renewcommand{\chapterfirstpagestyle}{empty} + +% Now make a frame in which to put my own customized footer +\newdynamicframe[>1]{\textwidth}{\headheight}{0pt}{-\footskip}[footer] + +% set the contents of the frame: +\setdynamiccontents*{footer}{% +School of Computing Sciences, University of East Anglia\hfill +http://www.cmp.uea.ac.uk/\hfill +page \thepage\ of \pageref*{lastpage}} + + +\newcommand{\env}[1]{\texttt{#1}} +\newcommand{\cmdname}[1]{\texttt{\symbol{92}#1}} +\newcommand{\meta}[1]{\textnormal{\textless\textit{#1}\textgreater}} + +\begin{document} + +% not a very interesting logo +\setstaticcontents*{logo}{\sffamily{\Huge\slshape FLF} Flowfram} + +{\noindent +\slshape\Huge\MakeUppercase{A Sample Brochure}\par +\vskip0.5in +\noindent\large\MakeUppercase{Nicola Talbot}\\ +} + + +\chapter{Introduction} + +The \textsl{flowfram} package is designed to enable you to create +frames in a document such that the +contents of the \env{document} environment flow from one +frame to the next in the order that they were defined. +This is useful for creating posters +or magazines or any other form of document that does not +conform to the standard one or two column layout. + +This is a modified version of the manual for the \textsl{flowfram} package. +It is intended to illustrated what can be done. See the full +manual (ffuserguide.pdf) for +a comprehensive description, as some parts of this document +may now be out of date. +If the columns are very narrow, it may be better to +use \cmdname{raggedright}, otherwise \TeX\ may have a +problem working out the line breaks. + +This is column~\thedisplayedframe. + +The main type of frame is the flow frame. This is described on +column~\ref{flow:flowframe} on page~\pageref{flow:flowframe}. +The order used to draw the contents of each frame on the page +is described in column~\ref{flow:stacking} on +page~\pageref{flow:stacking}. Floats are describe in +column~\ref{flow:floats} on page~\pageref{flow:floats}. + +\chapter{Setting up Frames} + +This is column~\thedisplayedframe. + +The \textsl{flowfram} package provides three types of frame: +{flow frames}, {static +frames} and {dynamic frames}. + +\section*{Flow Frames} + +\labelflow{flow:flowframe} +The flow frame is the principle type of frame. +The text of the \env{document} environment will flow from +one frame to the next in order of definition. Each +flow frame has an associated width, height, +position on the page, and optionally a border. + +It is recommended that all the flow frames in a document +have the same width, otherwise problems may occur +when a paragraph spans to flow frames of unequal +widths. This is because \TeX's output routine does not +register the change in \cmdname{hsize} until it reaches +a paragraph break. If it is absolutely necessary for +flow frames to have unequal widths, judicious use of +\cmdname{framebreak} is required. + +\section*{Static Frames} + +A static frame is a rectangular area in which text neither +flows into, nor flows out of. The contents must be set +explicitly, and once set, the contents of the static frame will +remain the same on each page until it is explicitly +changed. Thus, a static frame can be used, for example, to make +a company logo appear in the same place on every page. + +\section*{Dynamic Frames} + +A dynamic frame is similar to a static frame, but its contents +are re-typeset on each page. (A static frame stores its +contents in a savebox, whereas a dynamic frame stores its +contents in a macro). + +This is column~\thedisplayedframe. + +\chapter{Frame Attributes} +\label{sec:modattr} + +Once you have defined the {flow frames}, {static frames} and +{dynamic frames}, their attributes can be changed. +The three types of frame mostly have the +same set of attributes, but some are specific to a certain type. +The available attributes are as follows +(\textsuperscript{\textbf{F}} indicates the key is +only available for {flow frames}, +\textsuperscript{\textbf{S}} indicates the key is only available +for {static frames} +and \textsuperscript{\textbf{D}} indicates the key +is only available for {dynamic frames}): + +\begin{description} +\item[width=\meta{length}]\mbox{}\par The width of the frame. + +\item[height=\meta{length}]\mbox{}\par The height of the frame. + +\item[x=\meta{length}]\mbox{}\par The x-coordinate of the frame. + +\item[y=\meta{length}]\mbox{}\par The y-coordinate of the frame. + +\item[border=\meta{style}]\mbox{}\par The style of the border around the +frame, this can take the values: \texttt{none} (no border), +\texttt{plain} (plain border) or the name of a \LaTeX\ +frame making command without the preceding backslash. +The value \texttt{fbox} is equivalent to \texttt{plain}. + +\item[offset=\meta{offset}]\mbox{}\par The border offset, if it is a +user-defined border. This is the distance from the outer +edge of the left hand border to the left edge of the +bounding box of the text inside the border. The \textsl{flowfram} +package is able to compute the border for +known frame making commands. +If you define your own frame making command, you may need to +specify the offset explicitly, or the frames +may end up shifted to the right or left. + +\item[bordercolor=\meta{colour}]\mbox{}\par The colour of the border +if you are using a standard frame making command. +The colour can either be specified as, e.g.\ \texttt{green}, +or including the colour model, for example +\verb/[rgb]{0,1,0}/. + +\item[textcolor=\meta{colour}]\mbox{}\par The text colour for that +frame. Again, the colour can either be specified as, +e.g.\ \texttt{green}, or including the colour model, +for example \verb/[rgb]{0,1,0}/. + +\item[pages=\meta{page list}]\mbox{}\par The {list of +pages} for which the frame +should appear. This can either have the values: \texttt{all}, +\texttt{even}, \texttt{odd} or \texttt{none} (the latter +removes the frame from that point on---useful if you +have multiple pages with the same number), or it can be a +comma-separated list of single pages, or +{page ranges}. + +\item[margin=\meta{side}\textsuperscript{F}]\mbox{}\par The side of +the flow frame that its corresponding margin should go on. This +can take the values \texttt{left} or \texttt{right}. + +\item[clear=\meta{boolean}\textsuperscript{S}] If this value +is set, the static frame will be cleared at the start of the +next page. + +\item[style=\meta{cmd}\textsuperscript{D}]\mbox{}\par This should be +the name of a command \emph{without} the preceding backslash, +to be applied to the contents of the specified dynamic frame. +The command may either be a declaration, for example \verb/style=large/ +which will set the contents of all the dynamic frames in a +large font, or it can be a command that takes a single argument, +for example \verb/style=textbf/ +which will make the text for all the dynamic frames come out in +bold. To unset a style, do \verb/style=none/. + +\end{description} + +\chapter{Miscellaneous} + +\section*{Page Layout} + +The \textsl{flowfram} package has the package option \texttt{draft} +which will draw the {bounding boxes} for +each frame defined. At the bottom right of each +bounding box (except for the bounding box denoting the +typeblock), a marker will be shown to indictate the type +of frame, its IDN and its IDL. + +You can see the layout for the current page (irrespective of +whether or not the \texttt{draft} option has been set) using +the command:\newline +\cmdname{flowframeshowlayout} + +The headers and footers will appear as usual (but will not +be shown in draft mode), according to the format given by +\cmdname{pagestyle}. + +\section*{Frame Stacking Order} + +\labelflow{flow:stacking} +The material on each page is placed in the following order: +\begin{enumerate} +\item Each static frame defined for that page in ascending +order of IDN. + +\item Each flow frame defined for that page in ascending +order of IDN. + +\item Each dynamic frame defined for that page in ascending +order of IDN. + +\item {Bounding boxes} if the \texttt{draft} +package option has been used. +\end{enumerate} + +This ordering can be used to determine if you want something +to overlay or underlay everything else on the page. + +\section*{Prematurely Ending a Flow Frame} + +You can force text to move immediately to the next defined +flow frame using one of the standard \LaTeX\ page breaking commands +which work in an analogous way to the way they +work in standard two column mode. + +The command \cmdname{framebreak} is provided for situations +where a paragraph spans two flow frames +of different widths, as \TeX's output routine does not +adjust to the new value of \cmdname{hsize} until the last +paragraph of the previous frame has ended. As a +result, the end of the paragraph at the beginning of the new +flow frame retains the width of the previous flow frame. + +If you want to start a new page, rather than simply move to the +next frame, use the command\newline +\cmdname{finishthispage}. + +\section*{Floats} + +\labelflow{flow:floats} +Since floats (such as figures and tables) can only go in +{flow frames}, this package provides +the additional environments: +\env{staticfigure} and +\env{statictable} which can be used in static frames +and dynamic frames. Unlike their \env{figure} and +\env{table} counterparts, they are fixed in place, and +so do not take an optional placement specifier. The +\cmdname{caption} and \cmdname{label} commands can +be used within \env{staticfigure} and \env{statictable} as +usual. + +The standard \env{figure} and \env{table} commands will +behave as usual in the flow frames, but their starred versions, +\env{figure*} and \env{table*} behave no differently +from \env{figure} and \env{table}. + +\section*{Global Values} + +The following macros can be changed using\linebreak \cmdname{renewcommand}: + +\begin{itemize} +\item \cmdname{setffdraftcolor} + +This sets the colour of the bounding box +when it is displayed in draft mode. + +\item +\cmdname{setffdrafttypeblockcolor} + +This sets the colour of +the bounding box of the typeblock when it is displayed +in draft mode. + +\item \cmdname{fflabelfont} + +This sets the font size for the bounding box markers in +draft mode. + +\end{itemize} + +The following are lengths, which can be changed using +\cmdname{setlength}: + +\begin{itemize} +\item \cmdname{fflabelsep} + +This is the distance from the right hand side of the +bounding box at which to place the bounding box marker. + +\item \cmdname{flowframesep} + +This is the gap between the text of the frame and +its border, for the standard border types. + +\item \cmdname{flowframerule} + +This is the width of the frame's border, if using +a border given by a frame making command that uses \cmdname{fboxsep} +to set its border width. + +\item \cmdname{columnsep} + +This is the horizontal distance between flow frames when using one of the +\cmdname{Ncolumn} type of commands + +\item \cmdname{vcolumnsep} + +This is the vertical distance between the flow frames and the static or +dynamic frame when using one of the \cmdname{Ncolumntop} type of commands. +\end{itemize} + +\label{lastpage} +\end{document} +%</test-brochure.tex> +%<*test-casualcv.tex> +\documentclass[11pt,a4paper]{bidimoderncv} +\cvtheme[orange]{bidicasual} % you can use orange, red, green and blue as options +\usepackage[scale=0.8]{geometry} +\usepackage{fontspec} +\usepackage[RTLdocument]{bidi} +\def\refname{تألیفات} +\setmainfont[Script=Arabic,Mapping=parsidigits]{XB Niloofar} +\newfontfamily\rmfamily[Mapping=tex-text]{Linux Libertine} +\AtBeginDocument{\recomputelengths} +\resumename{رزومه} +\firstname{سید محمد} +\familyname{یزدی اصفهانی} +\title{رزومهٔ من} +\address{تهران، خیابان آزادی پلاک ۹} +\mobile{۰۹۱۸۹۶۹۴۹۶} +\phone{۹۸۹۰۸۳۴۱} +\fax{۹۸۹۰۸۳۴۲} +\email{me@somedomain.com} +\extrainfo{اطلاعات اضافی} +\photo[64pt]{picture} +\quote{نقل قول} +\begin{document} +\maketitle +\section{تحصیلات} +\cventry{سال--سال}{درجه}{دانشگاه}{شهر}{\textit{نمره}}{توضیح} % arguments 3 to 6 are optional +\cventry{سال--سال}{درجه}{دانشگاه}{شهر}{\textit{نمره}}{توضیح} % arguments 3 to 6 are optional + +\section{پایاننامهٔ کارشناسی ارشد} +\cvline{عنوان}{\emph{عنوان}} +\cvline{استاد راهنما}{استاد راهنما} +\cvline{توضیح}{\small چکیده کوچک پایاننامه} + +\section{تجربیات} +\subsection{عنوان} +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح} % arguments 3 to 6 are optional +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح} % arguments 3 to 6 are optional +\subsection{متفرقه} +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح خط ۱\newline{}توضیح خط ۲}% arguments 3 to 6 are optional + +\section{زبانها} +\cvlanguage{زبان ۱}{درجه مهارت}{نظر} +\cvlanguage{زبان ۲}{درجه مهارت}{نظر} +\cvlanguage{زبان ۳}{درجه مهارت}{نظر} + +\section{مهارتهای رایانهای} +\cvcomputer{طبقه ۱}{یک، دو، سه}{طبقه ۴}{یک، دو، سه} +\cvcomputer{طبقه ۲}{یک، دو، سه}{طبقه ۵}{یک، دو، سه} +\cvcomputer{طبقه ۳}{یک، دو، سه}{طبقه ۶}{یک، دو، سه} + +\section{علاقهها} +\cvline{علاقه ۱}{\small توضیح} +\cvline{علاقه ۲}{\small توضیح} +\cvline{علاقه ۳}{\small توضیح} + +\renewcommand{\listitemsymbol}{-} % change the symbol for lists + +\section{بعدی ۱} +\cvlistitem{شماره ۱} +\cvlistitem{شماره ۲} +\cvlistitem[+]{شماره ۳} % optional other symbol + +\section{بعدی ۲} +\cvlistdoubleitem[\Neutral]{شماره ۱}{شماره ۴} +\cvlistdoubleitem[\Neutral]{شماره ۲}{شماره ۵} +\cvlistdoubleitem[\Neutral]{شماره ۳}{} + +\nocite{*} +\bibliographystyle{plain} +\bibliography{publications} % 'publications' is the name of a BibTeX file + +\end{document} +%</test-casualcv.tex> +%<*test-classiccv.tex> +\documentclass[11pt,a4paper]{bidimoderncv} +\cvtheme[green]{bidiclassic} % you can use orange, red, green, grey and blue as options +\usepackage[scale=0.8]{geometry} +\usepackage{fontspec} +\setmainfont[Script=Arabic,Mapping=parsidigits]{XB Zar} +\newfontfamily\rmfamily[Mapping=tex-text]{Linux Libertine} +\def\refname{تألیفات} +\usepackage[RTLdocument]{bidi} +\AtBeginDocument{\recomputelengths} +\resumename{رزومه} +\firstname{وفا} +\familyname{خلیقی} +\title{رزومهٔ من} +\address{تهران، خیابان آزادی پلاک ۹} +\mobile{۰۹۱۸۹۶۹۴۹۶} +\phone{۹۸۹۰۸۳۴۱} +\fax{۹۸۹۰۸۳۴۲} +\email{me@somedomain.com} +\extrainfo{اطلاعات اضافی} +\photo[64pt]{picture} +\quote{نقل قول} +\begin{document} +\maketitle +\section{تحصیلات} +\cventry{سال--سال}{درجه}{دانشگاه}{شهر}{\textit{نمره}}{توضیح} % arguments 3 to 6 are optional +\cventry{سال--سال}{درجه}{دانشگاه}{شهر}{\textit{نمره}}{توضیح} % arguments 3 to 6 are optional + +\section{پایاننامهٔ کارشناسی ارشد} +\cvline{عنوان}{\emph{عنوان}} +\cvline{استاد راهنما}{استاد راهنما} +\cvline{توضیح}{\small چکیده کوچک پایاننامه} + +\section{تجربیات} +\subsection{عنوان} +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح} % arguments 3 to 6 are optional +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح} % arguments 3 to 6 are optional +\subsection{متفرقه} +\cventry{سال--سال}{نام شغل}{صاحب کار}{شهر}{}{توضیح خط ۱\newline{}توضیح خط ۲}% arguments 3 to 6 are optional + +\section{زبانها} +\cvlanguage{زبان ۱}{درجه مهارت}{نظر} +\cvlanguage{زبان ۲}{درجه مهارت}{نظر} +\cvlanguage{زبان ۳}{درجه مهارت}{نظر} + +\section{مهارتهای رایانهای} +\cvcomputer{طبقه ۱}{یک، دو، سه}{طبقه ۴}{یک، دو، سه} +\cvcomputer{طبقه ۲}{یک، دو، سه}{طبقه ۵}{یک، دو، سه} +\cvcomputer{طبقه ۳}{یک، دو، سه}{طبقه ۶}{یک، دو، سه} + +\section{علاقهها} +\cvline{علاقه ۱}{\small توضیح} +\cvline{علاقه ۲}{\small توضیح} +\cvline{علاقه ۳}{\small توضیح} + +\renewcommand{\listitemsymbol}{-} % change the symbol for lists + +\section{بعدی ۱} +\cvlistitem{شماره ۱} +\cvlistitem{شماره ۲} +\cvlistitem[+]{شماره ۳} % optional other symbol + +\section{بعدی ۲} +\cvlistdoubleitem[\Neutral]{شماره ۱}{شماره ۴} +\cvlistdoubleitem[\Neutral]{شماره ۲}{شماره ۵} +\cvlistdoubleitem[\Neutral]{شماره ۳}{} + +\nocite{*} +\bibliographystyle{plain} +\bibliography{publications} % 'publications' is the name of a BibTeX file + +\end{document} +%</test-classiccv.tex> +%<*test-color.tex> +\documentclass{article} +\usepackage{fontspec} +\usepackage{xecolour} % for RTL coloured texts that spans more than a line +\usepackage{fullpage} +\usepackage{colortbl} +\setmainfont[Scale=1,Script=Arabic,Mapping=farsidigits]{XB Kayhan} +\usepackage{xcolor} +\usepackage[RTLdocument]{bidi} +\begin{document} +این یک آزمایش است. + +\bigskip +\fcolorbox{red}{yellow}{\begin{minipage}{0.8\textwidth} +این یک متن است که من آن را داخل یک جعبهٔ زردرنگ قرار میدهم. این یک متن است که من آن را داخل یک جعبهٔ زردرنگ قرار میدهم +\end{minipage}} + +این {\color{red} رنگ قرمز} است و این هم \textcolor{blue}{رنگ آبی} است همانطور که میبینید. + +\bigskip +من اسم خودم {\color{red} وفا خلیقی} را با رنگ قرمز مینویسم. + +\bigskip +من اسم خودم \textcolor{blue}{وفا خلیقی} را با رنگ آبی مینویسم. + +\bigskip +\colorbox{yellow}{\begin{minipage}{0.8\textwidth} +این یک متن است که من آن را داخل یک جعبهٔ زردرنگ قرار میدهم. این یک متن است که من آن را داخل یک جعبهٔ زردرنگ قرار میدهم +\end{minipage}} + +\bigskip +این یک پاراگراف با \blue{رنگ آبی اول است و همینطور و همینطور ما میتوانیم از رنگاهی مختلف استفاده کنیم} و حالا +\red{این روزها حجم اخبار و مطالب مرتبط با ایران و مسایل مربوط به آن بسیار زیاد شده وابزارهایی مانند گوگل ریدر برای مرور لیست بلند بالایی از سایتها و وبلاگ های به روز شده ، بیشتر مورد استفاده قرار میگیرد.} و حالا هم +\darkred{یکی از مشکلاتی که در استفاده از گوگل ریدر داشتم، نامناسب بودن فونت فارسی آن بود. اگر چه عمده وبلاگها و سایتها از فونت تاهوما (مانند فونتی که این مطالب با آن نوشته شده است) استفاده می کنند اما تعدادی از وبلاگها از فونتهای دیگری که بعضی وقتها خیلی ریز هم هستند }استفاده می کنند که خواندن آن در گوگل ریدر بسیار دشوار است. متاسفانه در گوگل ریدر بخشی برای تغییر فونت وجود ندارد و نمیتوان نوع فونت یا اندازه مطالب آن را تغییر داد. بعد از کمی جستجو بر روی اینترنت راه حل جالبی را پیدا کردم که با کمی تغییر برای مطالب فارسی هم قابل استفاده است. +اگر از فایرفاکس برای مرور مطالب جدید در گوگل ریدر استفاده می کنید، این راه حل را باری حل این مشکل به شما پیشنهاد میکنم + +\bigskip +حالا نوبت جعبههای رنگی است یعنی مثلاً \colorbox{red}{{\color{white}سلام}} و \fcolorbox{yellow}{red}{{\color{white}این یک متن داخل جعبه رنگی است که کمی طولانی است}} + + + + + + +\end{document} +%</test-color.tex> +%<*test-supertabular.tex> +\documentclass{article} +\usepackage{supertabular} +\usepackage{bidi} +\title{Testing \textsf{supertabular} package in RTL and LTR} +\author{Vafa Khalighi} +\begin{document} +\maketitle +\section{LTR} +\tablecaption{The ISOGRK3 entity set} +\tablehead + {\bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline} +\tabletail + {\hline \multicolumn{3}{r}{\emph{Continued on next page}}\\} +\tablelasttail{\hline} +\begin{supertabular}{lll} +alpha & GREEK SMALL LETTER ALPHA & 03B1\\ +beta & GREEK SMALL LETTER BETA & 03B2\\ +chi & GREEK SMALL LETTER CHI & 03C7\\ +Delta & GREEK CAPITAL LETTER DELTA & 0394\\ +delta & GREEK SMALL LETTER DELTA & 03B4\\ +epsi & GREEK SMALL LETTER EPSILON & 03B5\\ +epsis & GREEK LUNATE EPSILON SYMBOL & 03F5\\ +\empty +epsiv & GREEK SMALL LETTER EPSILON & 03B5\\ +eta & GREEK SMALL LETTER ETA & 03B7\\ +Gamma & GREEK CAPITAL LETTER GAMMA & 0393\\ +gamma & GREEK SMALL LETTER GAMMA & 03B3\\ +gammad & GREEK SMALL LETTER DIGAMMA & 03DD\\ +iota & GREEK SMALL LETTER IOTA & 03B9\\ +kappa & GREEK SMALL LETTER KAPPA & 03BA\\ +kappav & GREEK KAPPA SYMBOL & 03F0\\ +Lambda & GREEK CAPITAL LETTER LAMDA & 039B\\ +lambda & GREEK SMALL LETTER LAMDA & 03BB\\ +mu & GREEK SMALL LETTER MU & 03BC\\ +nu & GREEK SMALL LETTER NU & 03BD\\ +Omega & GREEK CAPITAL LETTER OMEGA & 03A9\\ +omega & GREEK SMALL LETTER OMEGA & 03C9\\ +Phi & GREEK CAPITAL LETTER PHI & 03A6\\ +phis & GREEK PHI SYMBOL & 03D5\\ +phiv & GREEK SMALL LETTER PHI & 03C6\\ +Pi & GREEK CAPITAL LETTER PI & 03A0\\ +pi & GREEK SMALL LETTER PI & 03C0\\ +piv & GREEK PI SYMBOL & 03D6\\ +Psi & GREEK CAPITAL LETTER PSI & 03A8\\ +psi & GREEK SMALL LETTER PSI & 03C8\\ +rho & GREEK SMALL LETTER RHO & 03C1\\ +rhov & GREEK RHO SYMBOL & 03F1\\ +Sigma & GREEK CAPITAL LETTER SIGMA & 03A3\\ +sigma & GREEK SMALL LETTER SIGMA & 03C3\\ +sigmav & GREEK SMALL LETTER FINAL SIGMA & 03C2\\ +tau & GREEK SMALL LETTER TAU & 03C4\\ +Theta & GREEK CAPITAL LETTER THETA & 0398\\ +thetas & GREEK SMALL LETTER THETA & 03B8\\ +thetav & GREEK THETA SYMBOL & 03D1\\ +Upsi & GREEK UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & GREEK SMALL LETTER UPSILON & 03C5\\ +Xi & GREEK CAPITAL LETTER XI & 039E\\ +xi & GREEK SMALL LETTER XI & 03BE\\ +zeta & GREEK SMALL LETTER ZETA & 03B6\\ +\end{supertabular} +\section{RTL} + +\setRTL +\tablecaption{The ISOGRK3 entity set} +\tablehead + {\bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline} +\tabletail + {\hline \multicolumn{3}{l}{\emph{Continued on next page}}\\} +\tablelasttail{\hline} +\begin{supertabular}{rrr} +alpha & GREEK SMALL LETTER ALPHA & 03B1\\ +beta & GREEK SMALL LETTER BETA & 03B2\\ +chi & GREEK SMALL LETTER CHI & 03C7\\ +Delta & GREEK CAPITAL LETTER DELTA & 0394\\ +delta & GREEK SMALL LETTER DELTA & 03B4\\ +epsi & GREEK SMALL LETTER EPSILON & 03B5\\ +epsis & GREEK LUNATE EPSILON SYMBOL & 03F5\\ +\empty +epsiv & GREEK SMALL LETTER EPSILON & 03B5\\ +eta & GREEK SMALL LETTER ETA & 03B7\\ +Gamma & GREEK CAPITAL LETTER GAMMA & 0393\\ +gamma & GREEK SMALL LETTER GAMMA & 03B3\\ +gammad & GREEK SMALL LETTER DIGAMMA & 03DD\\ +iota & GREEK SMALL LETTER IOTA & 03B9\\ +kappa & GREEK SMALL LETTER KAPPA & 03BA\\ +kappav & GREEK KAPPA SYMBOL & 03F0\\ +Lambda & GREEK CAPITAL LETTER LAMDA & 039B\\ +lambda & GREEK SMALL LETTER LAMDA & 03BB\\ +mu & GREEK SMALL LETTER MU & 03BC\\ +nu & GREEK SMALL LETTER NU & 03BD\\ +Omega & GREEK CAPITAL LETTER OMEGA & 03A9\\ +omega & GREEK SMALL LETTER OMEGA & 03C9\\ +Phi & GREEK CAPITAL LETTER PHI & 03A6\\ +phis & GREEK PHI SYMBOL & 03D5\\ +phiv & GREEK SMALL LETTER PHI & 03C6\\ +Pi & GREEK CAPITAL LETTER PI & 03A0\\ +pi & GREEK SMALL LETTER PI & 03C0\\ +piv & GREEK PI SYMBOL & 03D6\\ +Psi & GREEK CAPITAL LETTER PSI & 03A8\\ +psi & GREEK SMALL LETTER PSI & 03C8\\ +rho & GREEK SMALL LETTER RHO & 03C1\\ +rhov & GREEK RHO SYMBOL & 03F1\\ +Sigma & GREEK CAPITAL LETTER SIGMA & 03A3\\ +sigma & GREEK SMALL LETTER SIGMA & 03C3\\ +sigmav & GREEK SMALL LETTER FINAL SIGMA & 03C2\\ +tau & GREEK SMALL LETTER TAU & 03C4\\ +Theta & GREEK CAPITAL LETTER THETA & 0398\\ +thetas & GREEK SMALL LETTER THETA & 03B8\\ +thetav & GREEK THETA SYMBOL & 03D1\\ +Upsi & GREEK UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & GREEK SMALL LETTER UPSILON & 03C5\\ +Xi & GREEK CAPITAL LETTER XI & 039E\\ +xi & GREEK SMALL LETTER XI & 03BE\\ +zeta & GREEK SMALL LETTER ZETA & 03B6\\ +\end{supertabular} +\end{document} +%</test-supertabular.tex> +%<*test-tabular.tex> +\documentclass{article} +\usepackage{bidi} +\title{Testing \LaTeX's Default Tabular in \textsf{RTL} and \textsf{LTR}} +\author{Vafa Khalighi} +\newcommand{\rb}[1]{\raisebox{1.5ex}[0mm]{#1}} +\begin{document} +\maketitle +In this document we test \LaTeX's default tabular in \textsf{RTL} and \textsf{LTR}. +\section{LTR} +\begin{center}\small +\begin{tabular}{|l||c|l|c|l|c|l|} +\hline +& \multicolumn{2}{c|}{6.15--7.15 pm} & \multicolumn{2}{c|}{7.20--8.20 pm} +& \multicolumn{2}{c|}{8.30--9.30 pm} \\ \cline{2-7} +&& Teacher && Teacher && Teacher \\ \cline{3-3}\cline{5-5}\cline{7-7} +\rb{Day} & \rb{Subj.} & Room & \rb{Subj.} & Room & \rb{Subj.} & Room\\ + \hline\hline +&& Dr.~Smith && Ms.~Clark && Mr.~Mills\\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Mon.} & \rb{UNIX} & Comp. Ctr & \rb{Fortran} & Hall A + & \rb{Math.} & Hall A \\ \hline +&& Miss Baker && Ms.~Clark && Mr.~Mill\\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Tues.} & \rb{\LaTeX} & Conf.~Room & \rb{Fortran} & Conf~Room + & \rb{Math.} & Hall A \\ \hline +&& Dr.~Smith && Dr.~Jones && Dr.~Jones \\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Wed.} & \rb{UNIX} & Comp. Ctr & \rb{C} & Hall A + & \rb{ComSci.} & Hall A \\ \hline +&& Miss Baker && Ms. Clark & \multicolumn{2}{c|}{} \\ +\cline{3-3}\cline{5-5} +\rb{Fri.} & \rb{\LaTeX} & Conf.~Room & \rb{C++} & Conf.~Room +& \multicolumn{2}{c|}{\rb{canceled}}\\ \hline +\end{tabular}\end{center} +\section{RTL} + +\setRTL +\begin{center}\small +\begin{tabular}{|r||c|r|c|r|c|r|} +\hline +& \multicolumn{2}{c|}{6.15--7.15 pm} & \multicolumn{2}{c|}{7.20--8.20 pm} +& \multicolumn{2}{c|}{8.30--9.30 pm} \\ \cline{2-7} +&& Teacher && Teacher && Teacher \\ \cline{3-3}\cline{5-5}\cline{7-7} +\rb{Day} & \rb{Subj.} & Room & \rb{Subj.} & Room & \rb{Subj.} & Room\\ + \hline\hline +&& Dr.~Smith && Ms.~Clark && Mr.~Mills\\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Mon.} & \rb{UNIX} & Comp. Ctr & \rb{Fortran} & Hall A + & \rb{Math.} & Hall A \\ \hline +&& Miss Baker && Ms.~Clark && Mr.~Mill\\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Tues.} & \rb{\LaTeX} & Conf.~Room & \rb{Fortran} & Conf~Room + & \rb{Math.} & Hall A \\ \hline +&& Dr.~Smith && Dr.~Jones && Dr.~Jones \\ +\cline{3-3}\cline{5-5}\cline{7-7} +\rb{Wed.} & \rb{UNIX} & Comp. Ctr & \rb{C} & Hall A + & \rb{ComSci.} & Hall A \\ \hline +&& Miss Baker && Ms. Clark & \multicolumn{2}{c|}{} \\ +\cline{3-3}\cline{5-5} +\rb{Fri.} & \rb{\LaTeX} & Conf.~Room & \rb{C++} & Conf.~Room +& \multicolumn{2}{c|}{\rb{canceled}}\\ \hline +\end{tabular}\end{center} +\end{document} +%</test-tabular.tex> +%<*test-tabularx.tex> +\documentclass{article} +\usepackage{tabularx} +\usepackage{bidi} +\title{Testing \textsf{tabularx} Package in RTL and LTR} +\author{Vafa Khalighi} +\begin{document} +\maketitle +\section{LTR} +\begin{tabularx}{\linewidth}{|l|p{1.25cm}|p{1.5cm}|X|}\hline +\multicolumn{1}{|c|}{\textbf{Animal}} + & \textbf{Hair Colour} + & \multicolumn{2}{c|}{\textbf{Favourite foods}} \\\hline\hline +Elephant & Gray & Peanuts + & Unshelled, prepared in Sea Salt, and warmed over hot stone grill \\\cline{3-4} + & & Cabbage and Greens + & Sun dried until lightly browned (2-3 days minimum); + seasoned with Hyperchem super feed \\\cline{4-4} + & & & Boiled to British standard \\\hline\hline +Lion & Yellow & Elephants & Tartare \\\cline{4-4} +& & & Must be served warm, with no trace of + buckshot. Gaiminess considered desireable. \\\hline +\end{tabularx} +\section{RTL} + +\setRTL +\begin{tabularx}{\linewidth}{|r|p{1.25cm}|p{1.5cm}|X|}\hline +\multicolumn{1}{|c|}{\textbf{Animal}} + & \textbf{Hair Colour} + & \multicolumn{2}{c|}{\textbf{Favourite foods}} \\\hline\hline +Elephant & Gray & Peanuts + & Unshelled, prepared in Sea Salt, and warmed over hot stone grill \\\cline{3-4} + & & Cabbage and Greens + & Sun dried until lightly browned (2-3 days minimum); + seasoned with Hyperchem super feed \\\cline{4-4} + & & & Boiled to British standard \\\hline\hline +Lion & Yellow & Elephants & Tartare \\\cline{4-4} +& & & Must be served warm, with no trace of + buckshot. Gaiminess considered desireable. \\\hline +\end{tabularx} +\end{document} +%</test-tabularx.tex> +%<*test-tabulary.tex> +\documentclass{article} +\usepackage{tabulary} +\setlength\tymin{10pt} +\setlength\tymax{\maxdimen} +\usepackage{bidi} +\title{Testing \textsf{tabulary} package in RTL and LTR} +\author{Vafa Khalighi} +\begin{document} +\maketitle +\section{LTR} +\begin{tabulary}{200pt}{|C|C|C|C|} + a & b b b b & + c c c c c c c c c c c c c c c c c c & + d d d d d d d d d d d d d d d d d d +\empty + d d d d d d d d d d d d d d + d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d + \end{tabulary} +\section{RTL} + +\setRTL +\begin{tabulary}{200pt}{|C|C|C|C|} + a & b b b b & + c c c c c c c c c c c c c c c c c c & + d d d d d d d d d d d d d d d d d d +\empty + d d d d d d d d d d d d d d + d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d + \end{tabulary} +\end{document} +%</test-tabulary.tex> +%\fi +% +% \typeout{*************************************************************} +% \typeout{*} +% \typeout{* To finish the installation you have to move the following} +% \typeout{* file into a directory searched by TeX:} +% \typeout{*} +% \typeout{* \space\space\space all *.cls, *.sty and *.def files} +% \typeout{*} +% \typeout{* \space\space\space and bibitem.pdf file} +% \typeout{*************************************************************} +% +\endinput + |