diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def | 532 |
1 files changed, 318 insertions, 214 deletions
diff --git a/Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def b/Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def index 6aff6b67e94..263e0e0518b 100644 --- a/Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def +++ b/Master/texmf-dist/tex/xelatex/bidi/scrartcl-xetex-bidi.def @@ -20,7 +20,7 @@ %% by Vafa Khalighi. %% %% -%% \CheckSum{50563} +%% \CheckSum{50672} %% \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 @@ -37,7 +37,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% -\ProvidesFile{scrartcl-xetex-bidi.def}[2017/06/09 v1.1 bidi adaptations for scrartcl class for XeTeX engine] +\ProvidesFile{scrartcl-xetex-bidi.def}[2022/05/22 v1.2 bidi adaptations for scrartcl class for XeTeX engine] \newcommand{\scr@saved@LTRfootnotetext}{} \newcommand{\scr@saved@RTLfootnotetext}{} \let\scr@saved@footnotetext\@footnotetext @@ -56,28 +56,68 @@ \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 + \expandafter\ifnum\scr@v@is@ge{3.22}\relax + \long\def\@makefntext##1{% + \ExecuteDoHook{footnote/text/begin}% + \raggedfootnote + \if@RTL + \rightskip + \else + \leftskip + \fi + #2 + \l@addto@macro\@trivlist{% + \ifnum\@listdepth=\@ne + \if@RTL + \advance\rightmargin #2\relax + \else + \advance\leftmargin #2\relax + \fi + \fi }% - \fi - \par - \parindent\@tempdimc\noindent - \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% - }% + \parindent #3\noindent + \IfArgIsEmpty{#1}{}{% + \hskip \dimexpr #1-#2\relax + }% + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + \ExecuteDoHook{footnote/text/end}% + }% + \else + \ClassInfo{\KOMAClassName}{% + Using old \string\@makefntext\space due to compatibility + level\MessageBreak + less than 3.22}% + \long\def\@makefntext##1{% + \setlength{\@tempdimc}{#3}% + \def\@tempa{#1}\ifx\@tempa\@empty + \@setpar{\@@par + \@tempdima = \hsize + \addtolength{\@tempdima}{-#2}% + \if@RTL + \parshape \@ne \z@ \@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@ \z@ \@tempdima \z@ \@tempdimb + \else + \parshape \tw@ #1 \@tempdima #2 \@tempdimb + \fi + }% + \fi + \par + \parindent\@tempdimc\noindent + \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + }% + \fi \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% } \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} @@ -96,11 +136,48 @@ \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]{% + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular}% + \hskip 1em \@plus.17fil% + \begin{tabular}[t]{c}% + }% + \fi \if@titlepage \begin{titlepage} \setcounter{page}{% #1% }% + \if@titlepageiscoverpage + \edef\titlepage@restore{% + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + }% + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi \let\footnotesize\small \let\right@footnoterule\relax \let\left@footnoterule\relax @@ -111,54 +188,97 @@ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% - \ifx\@extratitle\@empty \else - \noindent\@extratitle\next@tpage\cleardoubleemptypage - \thispagestyle{empty}% + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty + \else + \if@twoside\mbox{}\next@tpage\fi + \noindent\@frontispiece\next@tdpage + \fi + \else + \noindent\@extratitle + \ifx\@frontispiece\@empty + \else + \next@tpage + \noindent\@frontispiece + \fi + \next@tdpage \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \ifx\@titlehead\@empty \else \begin{minipage}[t]{\textwidth}% - \@titlehead + \usekomafont{titlehead}{\@titlehead\par}% \end{minipage}\par \fi \null\vfill \begin{center} \ifx\@subject\@empty \else - {\subject@font \@subject \par}% + {\usekomafont{subject}{\@subject\par}}% \vskip 3em \fi - {\titlefont\huge \@title\par}% + {\usekomafont{title}{\huge \@title\par}}% \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \vskip 2em - {\Large \lineskip 0.75em - \begin{tabular}[t]{c} - \@author - \end{tabular}\par + {% + \usekomafont{author}{% + \lineskip 0.75em + \begin{tabular}[t]{c} + \@author + \end{tabular}\par + }% }% \vskip 1.5em - {\Large \@date \par}% + {\usekomafont{date}{\@date \par}}% \vskip \z@ \@plus3fill - {\Large \@publishers \par}% + {\usekomafont{publishers}{\@publishers \par}}% \vskip 3em \end{center}\par - \@thanks + \@thanks\global\let\@thanks\@empty \vfill\null - \if@twoside\next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage} + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\global\let\@thanks\@empty + \fi + \else + \ifx\@uppertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\uppertitleback\space ignored + by \string\maketitle\MessageBreak + in `twoside=false' mode% + }% + \fi + \ifx\@lowertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\lowertitleback\space ignored + by \string\maketitle\MessageBreak + in `twoside=false' mode% + }% + \fi \fi - \ifx\@dedication\@empty \else - \next@tpage\null\vfill - {\centering \Large \@dedication \par}% + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \if@twoside \next@tpage\cleardoubleemptypage \fi + \@thanks\global\let\@thanks\@empty + \cleardoubleemptypage \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} \else \par @@ -166,101 +286,111 @@ #1% \relax\ifnum\@tempcnta=1\else \ClassWarning{\KOMAClassName}{% - Optional argument of \string\maketitle\space ignored - at\MessageBreak - notitlepage-mode% + Optional argument of \string\maketitle\space ignored\MessageBreak + in `titlepage=false' mode% + }% + \fi + \ifx\@uppertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\uppertitleback\space ignored + by \string\maketitle\MessageBreak + in `titlepage=false' mode% + }% + \fi + \ifx\@lowertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\lowertitleback\space ignored + by \string\maketitle\MessageBreak + in `titlepage=false' mode% }% \fi \begingroup + \let\titlepage@restore\relax \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% \let\@oldmakefnmark\@makefnmark - \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark} + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \next@tdpage \if@twocolumn \ifnum \col@number=\@ne + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi + \else + \@makeextratitle + \fi + \ifx\@frontispiece\@empty + \ifx\@extratitle\@empty\else\next@tdpage\fi + \else + \next@tpage + \@makefrontispiece + \next@tdpage + \fi \@maketitle \else + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else\if@twoside\mbox{}\fi\fi + \else + \twocolumn[\@makeextratitle]% + \fi + \ifx\@frontispiece\@empty + \ifx\@extratitle\@empty\else\next@tdpage\fi + \else + \next@tpage + \twocolumn[\@makefrontispiece]% + \next@tdpage + \fi \twocolumn[\@maketitle]% \fi \else - \newpage - \global\@topnum\z@ + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else \mbox{}\fi + \else + \@makeextratitle + \fi + \ifx\@frontispiece\@empty + \ifx\@extratitle\@empty\else\next@tdpage\fi + \else + \next@tpage + \@makefrontispiece + \next@tdpage + \fi \@maketitle \fi - \thispagestyle{\titlepagestyle}\@thanks + \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi + \@thanks\global\let\@thanks\@empty \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 + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \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\@frontispiece\@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 \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 + \global\let\and\relax }% \def\raggedsection{\if@RTL\raggedleft\else\raggedright\fi} \def\raggedpart{\if@RTL\raggedleft\else\raggedright\fi} @@ -338,16 +468,6 @@ \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} @@ -356,76 +476,61 @@ } \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 + \begingroup + \ifonelinecaptions + \def\stepcounter##1{\advance\value{##1}\@ne}% + \let\refstepcounter\stepcounter + \let\label\@gobble + \let\@footnotetext=\@gobble + \let\@LTRfootnotetext=\@gobble + \let\@RTLfootnotetext=\@gobble + \let\hypertarget\@gobbletwo + \edef\@xnewline{% + \unexpanded{\ClassInfo{\KOMAClassName}{% + Workaround for not recommended usage of \string\\ or\MessageBreak + \string\newline in caption text + }% + \hspace*{\linewidth}\hspace{1sp}% }% - \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 + \unexpanded\expandafter{\@xnewline}% }% - \else - \global \@minipagefalse - \sbox\@tempboxa{% - {\capfont{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont{#2\captionformat}}}}% - #3}}% + \edef\@xcentercr{% + \unexpanded{\ClassInfo{\KOMAClassName}{% + Workaround for not recommended usage of \string\\ or\MessageBreak + \string\newline in caption text + }% + \hspace*{\linewidth}\hspace{1sp}% + }% + \unexpanded\expandafter{\@xcentercr}% }% - {\capfont{\hb@xt@\hsize{\strut\cap@left\if@RTL\beginR\fi\box\@tempboxa\if@RTL\endR\fi\cap@right\strut}}}% + \settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}% + \ifdim\@tempdima>\cap@width + \aftergroup\scr@makemultilinecaption + \else + \aftergroup\scr@makesinglelinecaption + \fi + \else + \aftergroup\scr@makemultilinecaption \fi \endgroup + {#1}{#2}{#3}% +} +\renewcommand{\scr@makesinglelinecaption}[3]{% + {% + \usefontofkomafont{caption}{% + \hb@xt@\hsize{% + \cap@left + \if@RTL + \beginR + \fi + \scr@@makesinglelinecaption{#1}{#2}{#3}% + \if@RTL + \endR + \fi + \cap@right + }\par\kern\dp\strutbox% + }% + }\kern-\dp\strutbox } \renewcommand{\@makecaption}[2]{% \if@captionabove @@ -440,10 +545,8 @@ \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{% @@ -455,6 +558,7 @@ }% \LT@mcol\LT@cols c{% \hbox to\z@{\hss\parbox[t]\linewidth{% + \def\@captype{table}% \@@makecaption{#1}{#2}{#3}% \endgraf \if@captionabove @@ -506,12 +610,11 @@ \expandafter\renewcommand% \csname scr@tso@#1@linefill\endcsname{% \if@sectionentrywithdots - \TOCLineLeaderFill\relax + {\usekomafont{sectionentrydots}{\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% @@ -529,14 +632,6 @@ \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@,% @@ -547,6 +642,14 @@ tocnumwidth=1.5em% ]{section} \DeclareSectionCommand[% + style=part,% + level=\z@,% + tocstyle=part,% + toclevel=\m@ne,% + tocindent=\z@,% + tocnumwidth=2em% +]{part} +\DeclareSectionCommand[% style=section,% level=2,% indent=\z@,% @@ -573,6 +676,7 @@ beforeskip=3.25ex \@plus1ex \@minus.2ex,% afterskip=-1em,% tocstyle=subsection,% + tocindentfollows=subsubsection,% tocindent=7.0em,% tocnumwidth=4.1em% ]{paragraph} |