From a2b539be57596e35eac0c7860004eec5b838c447 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 19 Apr 2012 16:52:44 +0000 Subject: bidi (18apr12) git-svn-id: svn://tug.org/texlive/trunk@26044 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bidi/README | 2 +- Master/texmf-dist/doc/latex/bidi/bidi.pdf | Bin 168523 -> 168672 bytes Master/texmf-dist/source/latex/bidi/bidi.dtx | 450 ++++++++------------- Master/texmf-dist/tex/latex/bidi/bidi.sty | 2 +- .../tex/latex/bidi/cvthemebidiclassic.sty | 2 +- .../tex/latex/bidi/fancyhdr-xetex-bidi.def | 10 +- .../tex/latex/bidi/hvfloat-xetex-bidi.def | 410 +++++++------------ 7 files changed, 334 insertions(+), 542 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/bidi/README b/Master/texmf-dist/doc/latex/bidi/README index 4c5158fe05d..88c82c31790 100644 --- a/Master/texmf-dist/doc/latex/bidi/README +++ b/Master/texmf-dist/doc/latex/bidi/README @@ -1,6 +1,6 @@ ___________________ The bidi package -v11.152 +v11.153 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX. diff --git a/Master/texmf-dist/doc/latex/bidi/bidi.pdf b/Master/texmf-dist/doc/latex/bidi/bidi.pdf index 294f4ea6be1..a104adbbabb 100644 Binary files a/Master/texmf-dist/doc/latex/bidi/bidi.pdf and b/Master/texmf-dist/doc/latex/bidi/bidi.pdf differ diff --git a/Master/texmf-dist/source/latex/bidi/bidi.dtx b/Master/texmf-dist/source/latex/bidi/bidi.dtx index ad9ce3e64fe..573406c29f0 100644 --- a/Master/texmf-dist/source/latex/bidi/bidi.dtx +++ b/Master/texmf-dist/source/latex/bidi/bidi.dtx @@ -5,7 +5,7 @@ %<*readme> ___________________ The bidi package -v11.152 +v11.153 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX. @@ -239,7 +239,7 @@ by Vafa Khalighi. % Support for bidirectional typesetting in plain \TeX{} and \LaTeXe} % \author{Vafa Khalighi\\ % \url{simurgh12@gmail.com}} -% \date{\today\qquad Version 11.152} +% \date{\today\qquad Version 11.153} %\maketitle % \tableofcontents %\section*{Introduction} @@ -254,7 +254,7 @@ by Vafa Khalighi. %in plain TeX and LaTeX. The package includes adaptations for use %with many other commonly-used packages. %Copyright (c) 2009-2012 Vafa Khalighi -%v11.152, 2012/05/01 +%v11.153, 2012/05/01 %License: LaTeX Project Public License, version 1.3c or higher (your choice) %Location on CTAN: /macros/latex/contrib/bidi %\end{lstlisting} @@ -2529,7 +2529,7 @@ by Vafa Khalighi. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \def\bididate{2012/05/01} -\def\bidiversion{v11.152} +\def\bidiversion{v11.153} \ProvidesPackage{bidi}[\bididate\space \bidiversion\space Bidirectional typesetting in plain TeX and LaTeX] \edef\bidiinfo{% @@ -6930,7 +6930,7 @@ bidi implementation of tufte title] \end{minipage}% % optional data \begin{minipage}[b]{\maketitledetailswidth}% - \raggedleft\addressfont\@addresscolour% + \bidi@raggedleft\addressfont\@addresscolour% \ifthenelse{\isundefined{\@address}}{}{% \maketitledetailsnewline% \addresssymbol~\\\@address}% @@ -9727,18 +9727,18 @@ bidi implementation of tufte title] %\fi % \subsection{\textsf{fancyhdr-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{fancyhdr-xetex-bidi.def}[2010/07/25 v0.3 bidi adaptations for fancyhdr package for XeTeX engine] +\ProvidesFile{fancyhdr-xetex-bidi.def}[2012/04/18 v0.4 bidi adaptations for fancyhdr package for XeTeX engine] \let\fnch@everypar\everypar% \def\@fancyhead#1#2#3#4#5{\if@RTLmain\beginR\else\beginL\fi#1\if@RTLmain\endR\else\endL\fi\hbox to\headwidth{\beginL\fancy@reset \@fancyvbox\headheight{\hbox - {\rlap{\parbox[b]{\headwidth}{\raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill + {\rlap{\parbox[b]{\headwidth}{\bidi@raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill \parbox[b]{\headwidth}{\centering\if@RTLmain\beginR\else\beginL\fi#3\if@RTLmain\endR\else\endL\fi}\hfill - \llap{\parbox[b]{\headwidth}{\raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}\headrule}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} + \llap{\parbox[b]{\headwidth}{\bidi@raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}\headrule}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} \def\@fancyfoot#1#2#3#4#5{\if@RTLmain\beginR\else\beginL\fi#1\if@RTLmain\endR\else\endL\fi\hbox to\headwidth{\beginL\fancy@reset \@fancyvbox\footskip{\footrule - \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill + \hbox{\rlap{\parbox[t]{\headwidth}{\bidi@raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill \parbox[t]{\headwidth}{\centering\if@RTLmain\beginR\else\beginL\fi#3\if@RTLmain\endR\else\endL\fi}\hfill - \llap{\parbox[t]{\headwidth}{\raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} + \llap{\parbox[t]{\headwidth}{\bidi@raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} % \end{macrocode} % \iffalse % @@ -10463,7 +10463,7 @@ bidi implementation of tufte title] %\fi % \subsection{\textsf{hvfloat-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{hvfloat-xetex-bidi.def}[2011/06/11 v0.1 bidi adaptations for hvfloat package for XeTeX engine] +\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} @@ -10475,296 +10475,171 @@ bidi implementation of tufte title] % [#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 +% \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} + \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 + \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 + \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% - \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% - \ifthenelse{\equal{\hv@floatType}{figure}}{% - \ifthenelse{\equal{#1}{}}{\figcaption{#2}}{\figcaption[#1]{#2}}% - }{% - \ifthenelse{\equal{#1}{}}{\tabcaption{#2}}{\tabcaption[#1]{#2}}% - }% - \fi% - \else% - \ifx\hv@shortCap\empty\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% - \ifthenelse{\equal{\hv@floatType}{figure}}{% - \ifthenelse{\equal{#1}{}}{\figcaption{#2}}{\figcaption[#1]{#2}}% - }{% - \ifthenelse{\equal{#1}{}}{\tabcaption{#2}}{\tabcaption[#1]{#2}}% - }% - \fi% - \else% - \ifx\hv@shortCap\empty\caption{#2}\else\caption[#1]{#2}\fi% - \fi% - \label{#3}% - \end{minipage}% - }% - }% - \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 - \if@RTL% - \ifx\hvSet@objectPos\hv@Left% - \raggedright% - \else% - \ifx\hvSet@objectPos\hv@Center% - \ifhv@nonFloat% - \hspace*{\fill}% - \else% - \centering - \fi% - \fi% - \fi% - \else - \ifx\hvSet@objectPos\hv@Right% - \raggedleft% - \else% - \ifx\hvSet@objectPos\hv@Center% - \ifhv@nonFloat% - \hspace*{\fill}% - \else% - \centering - \fi% - \fi% - \fi% - \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}{\if@RTL% - \ifx\hvSet@capPos\hv@Right % caption on left side - \ifx\hvSet@capVPos\hv@Center% - \ifhv@framedCaption% - \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% - \else - \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} - \fi% - \hspace{\hvSet@floatCapSep pt}% capfloatsep - \ifhv@framedObject% - \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} - \else - \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} - \fi% - \else% - \ifx\hvSet@capVPos\hv@Top % caption at top - \ifhv@framedCaption% - \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% - \else - \raisebox{-\height}{\usebox{\hvCaptionBox}}% - \fi - \hspace{\hvSet@floatCapSep pt}% capfloatsep - \ifhv@framedObject% - \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% - \else - \raisebox{-\height}{\usebox{\hvObjectBox}}% - \fi% - \else% caption on bottom - \ifhv@framedCaption% - \fbox{\usebox{\hvCaptionBox}} - \else - \usebox{\hvCaptionBox} - \fi% - \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedObject% - \fbox{\usebox{\hvObjectBox}} - \else - \usebox{\hvObjectBox} - \fi% - \fi% - \fi% - \else - \ifx\hvSet@capPos\hv@Top - \ifdim\wd\hvCaptionBox>\wd\hvObjectBox - \begin{minipage}{\wd\hvCaptionBox} - \else - \begin{minipage}{\wd\hvObjectBox} - \fi - \centering - \ifhv@framedCaption% - \fbox{\usebox{\hvCaptionBox}}\\[\hvBelowCaptionSkip] - \else - \usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip]% - \fi% - \ifhv@framedObject% - \fbox{\usebox{\hvObjectBox}}% - \else - \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@framedObject - \fbox{\usebox{\hvObjectBox}}\\[\hvAboveCaptionSkip] - \else - \usebox{\hvObjectBox}\\[\hvAboveCaptionSkip] - \fi% - \ifhv@framedCaption - \fbox{\usebox{\hvCaptionBox}}% - \else - \usebox{\hvCaptionBox}% - \fi% - \end{minipage} - \else% the last option: put the caption on the right - \ifx\hvSet@capVPos\hv@Center% - \ifhv@framedObject + \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@framedCaption + \ifhv@fbox \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} \fi% \else% \ifx\hvSet@capVPos\hv@Top - \ifhv@framedObject + \ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% \else \raisebox{-\height}{\usebox{\hvObjectBox}}% \fi% \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedCaption + \ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% \fi \else - \ifhv@framedObject + \ifhv@fbox \fbox{\usebox{\hvObjectBox}}% \else \usebox{\hvObjectBox}% \fi \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedCaption + \ifhv@fbox \fbox{\usebox{\hvCaptionBox}}% \else \usebox{\hvCaptionBox}% \fi% \fi% - \fi - \fi - \fi - \fi - \else - \ifx\hvSet@capPos\hv@Left % caption on left side - \ifx\hvSet@capVPos\hv@Center% - \ifhv@framedCaption% - \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% - \else - \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} - \fi% - \hspace{\hvSet@floatCapSep pt}% capfloatsep - \ifhv@framedObject% - \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} - \else - \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} - \fi% - \else% - \ifx\hvSet@capVPos\hv@Top % caption at top - \ifhv@framedCaption% - \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% - \else - \raisebox{-\height}{\usebox{\hvCaptionBox}}% - \fi - \hspace{\hvSet@floatCapSep pt}% capfloatsep - \ifhv@framedObject% - \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% - \else - \raisebox{-\height}{\usebox{\hvObjectBox}}% - \fi% - \else% caption on bottom - \ifhv@framedCaption% - \fbox{\usebox{\hvCaptionBox}} - \else - \usebox{\hvCaptionBox} - \fi% - \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedObject% - \fbox{\usebox{\hvObjectBox}} - \else - \usebox{\hvObjectBox} - \fi% - \fi% - \fi% - \else +\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} @@ -10772,15 +10647,12 @@ bidi implementation of tufte title] \begin{minipage}{\wd\hvObjectBox} \fi \centering - \ifhv@framedCaption% + \ifhv@fbox \fbox{\usebox{\hvCaptionBox}}\\[\hvBelowCaptionSkip] + \fbox{\usebox{\hvObjectBox}} \else - \usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip]% - \fi% - \ifhv@framedObject% - \fbox{\usebox{\hvObjectBox}}% - \else - \usebox{\hvObjectBox}% + \usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip] + \usebox{\hvObjectBox} \fi% \end{minipage} \else @@ -10791,61 +10663,88 @@ bidi implementation of tufte title] \begin{minipage}{\wd\hvObjectBox} \fi \centering - \ifhv@framedObject + \ifhv@fbox \fbox{\usebox{\hvObjectBox}}\\[\hvAboveCaptionSkip] + \fbox{\usebox{\hvCaptionBox}} \else \usebox{\hvObjectBox}\\[\hvAboveCaptionSkip] - \fi% - \ifhv@framedCaption - \fbox{\usebox{\hvCaptionBox}}% - \else - \usebox{\hvCaptionBox}% + \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@framedObject + \ifhv@fbox \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} \else \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} \fi% \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedCaption + \ifhv@fbox \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} \fi% \else% \ifx\hvSet@capVPos\hv@Top - \ifhv@framedObject + \ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% \else \raisebox{-\height}{\usebox{\hvObjectBox}}% \fi% \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedCaption + \ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% \fi \else - \ifhv@framedObject + \ifhv@fbox \fbox{\usebox{\hvObjectBox}}% \else \usebox{\hvObjectBox}% \fi \hspace{\hvSet@floatCapSep pt}% - \ifhv@framedCaption + \ifhv@fbox \fbox{\usebox{\hvCaptionBox}}% \else \usebox{\hvCaptionBox}% \fi% \fi% \fi +\fi% end of RTL \fi \fi \fi - \fi}% End savebox Object and caption + }% End savebox Object and caption % % now we rotate the object and caption, if needed % @@ -10864,9 +10763,6 @@ bidi implementation of tufte title] \else \end{\hv@floatType}% End the floating environment \fi - \ifhv@fbox % reset local settings - \setkeys{hvSet}{framedCaption=true, framedObject=true} - \fi } % \end{macrocode} % \iffalse diff --git a/Master/texmf-dist/tex/latex/bidi/bidi.sty b/Master/texmf-dist/tex/latex/bidi/bidi.sty index 1723c92bcb9..cdefeb600e0 100644 --- a/Master/texmf-dist/tex/latex/bidi/bidi.sty +++ b/Master/texmf-dist/tex/latex/bidi/bidi.sty @@ -14,7 +14,7 @@ %% \NeedsTeXFormat{LaTeX2e} \def\bididate{2012/05/01} -\def\bidiversion{v11.152} +\def\bidiversion{v11.153} \ProvidesPackage{bidi}[\bididate\space \bidiversion\space Bidirectional typesetting in plain TeX and LaTeX] \edef\bidiinfo{% diff --git a/Master/texmf-dist/tex/latex/bidi/cvthemebidiclassic.sty b/Master/texmf-dist/tex/latex/bidi/cvthemebidiclassic.sty index 42141721ca1..a9040af324b 100644 --- a/Master/texmf-dist/tex/latex/bidi/cvthemebidiclassic.sty +++ b/Master/texmf-dist/tex/latex/bidi/cvthemebidiclassic.sty @@ -98,7 +98,7 @@ \end{minipage}% % optional data \begin{minipage}[b]{\maketitledetailswidth}% - \raggedleft\addressfont\@addresscolour% + \bidi@raggedleft\addressfont\@addresscolour% \ifthenelse{\isundefined{\@address}}{}{% \maketitledetailsnewline% \addresssymbol~\\\@address}% diff --git a/Master/texmf-dist/tex/latex/bidi/fancyhdr-xetex-bidi.def b/Master/texmf-dist/tex/latex/bidi/fancyhdr-xetex-bidi.def index db6d946fc38..3cfbc51ebb3 100644 --- a/Master/texmf-dist/tex/latex/bidi/fancyhdr-xetex-bidi.def +++ b/Master/texmf-dist/tex/latex/bidi/fancyhdr-xetex-bidi.def @@ -12,18 +12,18 @@ %% License information appended. %% %% -\ProvidesFile{fancyhdr-xetex-bidi.def}[2010/07/25 v0.3 bidi adaptations for fancyhdr package for XeTeX engine] +\ProvidesFile{fancyhdr-xetex-bidi.def}[2012/04/18 v0.4 bidi adaptations for fancyhdr package for XeTeX engine] \let\fnch@everypar\everypar% \def\@fancyhead#1#2#3#4#5{\if@RTLmain\beginR\else\beginL\fi#1\if@RTLmain\endR\else\endL\fi\hbox to\headwidth{\beginL\fancy@reset \@fancyvbox\headheight{\hbox - {\rlap{\parbox[b]{\headwidth}{\raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill + {\rlap{\parbox[b]{\headwidth}{\bidi@raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill \parbox[b]{\headwidth}{\centering\if@RTLmain\beginR\else\beginL\fi#3\if@RTLmain\endR\else\endL\fi}\hfill - \llap{\parbox[b]{\headwidth}{\raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}\headrule}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} + \llap{\parbox[b]{\headwidth}{\bidi@raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}\headrule}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} \def\@fancyfoot#1#2#3#4#5{\if@RTLmain\beginR\else\beginL\fi#1\if@RTLmain\endR\else\endL\fi\hbox to\headwidth{\beginL\fancy@reset \@fancyvbox\footskip{\footrule - \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill + \hbox{\rlap{\parbox[t]{\headwidth}{\bidi@raggedright\if@RTLmain\beginR\else\beginL\fi#2\if@RTLmain\endR\else\endL\fi}}\hfill \parbox[t]{\headwidth}{\centering\if@RTLmain\beginR\else\beginL\fi#3\if@RTLmain\endR\else\endL\fi}\hfill - \llap{\parbox[t]{\headwidth}{\raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} + \llap{\parbox[t]{\headwidth}{\bidi@raggedleft\if@RTLmain\beginR\else\beginL\fi#4\if@RTLmain\endR\else\endL\fi}}}}\endL}\if@RTLmain\beginR\else\beginL\fi#5\if@RTLmain\endR\else\endL\fi} %% %% Copyright © 2009–2012 Vafa Khalighi %% diff --git a/Master/texmf-dist/tex/latex/bidi/hvfloat-xetex-bidi.def b/Master/texmf-dist/tex/latex/bidi/hvfloat-xetex-bidi.def index 8b3da5961b2..52b363eecb0 100644 --- a/Master/texmf-dist/tex/latex/bidi/hvfloat-xetex-bidi.def +++ b/Master/texmf-dist/tex/latex/bidi/hvfloat-xetex-bidi.def @@ -12,284 +12,159 @@ %% License information appended. %% %% -\ProvidesFile{hvfloat-xetex-bidi.def}[2011/06/11 v0.1 bidi adaptations for hvfloat package for XeTeX engine] +\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} -\def\@tempa{90}% -\ifx\hvSet@rotAngle\@tempa -\setlength{\hvMaxCapWidth}{\textheight} -\else -\setlength{\hvMaxCapWidth}{\linewidth} -\fi -\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} -\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 + \def\@tempa{90}% + \ifx\hvSet@rotAngle\@tempa \setlength{\hvMaxCapWidth}{\textheight} + \else \setlength{\hvMaxCapWidth}{\linewidth} + \fi + \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} + \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 + \else \setlength{\hvCapWidth}{\hvMaxCapWidth} -\fi -\fi -\fi -\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% - \ifthenelse{\equal{\hv@floatType}{figure}}{% -\ifthenelse{\equal{#1}{}}{\figcaption{#2}}{\figcaption[#1]{#2}}% - }{% -\ifthenelse{\equal{#1}{}}{\tabcaption{#2}}{\tabcaption[#1]{#2}}% - }% -\fi% -\else% -\ifx\hv@shortCap\empty\caption{#2}\else\caption[#1]{#2}\fi% + \fi + \fi + \fi + \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 + \end{minipage}% + }% + \else% + \sbox{\hvCaptionBox}{% + \rotatebox{\hvSet@capAngle}{% + \begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation \ifhv@nonFloat% -\ifhv@onlyText% -#2% -\else% - \ifthenelse{\equal{\hv@floatType}{figure}}{% -\ifthenelse{\equal{#1}{}}{\figcaption{#2}}{\figcaption[#1]{#2}}% - }{% -\ifthenelse{\equal{#1}{}}{\tabcaption{#2}}{\tabcaption[#1]{#2}}% + \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% -\else% -\ifx\hv@shortCap\empty\caption{#2}\else\caption[#1]{#2}\fi% -\fi% -\label{#3}% -\end{minipage}% -}% -}% -\fi% + \fi% %% -\restoreCaptionSkip% save old values - \if@RTL% - \ifx\hvSet@objectPos\hv@Left% -\raggedright% -\else% -\ifx\hvSet@objectPos\hv@Center% -\ifhv@nonFloat% -\hspace*{\fill}% -\else% -\centering -\fi% -\fi% -\fi% - \else -\ifx\hvSet@objectPos\hv@Right% -\raggedleft% -\else% -\ifx\hvSet@objectPos\hv@Center% -\ifhv@nonFloat% -\hspace*{\fill}% -\else% -\centering -\fi% -\fi% -\fi% - \fi -\savebox{\@tempboxa}{\if@RTL% - \ifx\hvSet@capPos\hv@Right % caption on left side + \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% + \savebox{\@tempboxa}{% + \ifx\hvSet@capPos\hv@Left % caption on left side +\if@RTL% \ifx\hvSet@capVPos\hv@Center% -\ifhv@framedCaption% -\fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% -\else -\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} -\fi% - \hspace{\hvSet@floatCapSep pt}% capfloatsep -\ifhv@framedObject% +\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@framedCaption% -\fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% -\else -\raisebox{-\height}{\usebox{\hvCaptionBox}}% -\fi -\hspace{\hvSet@floatCapSep pt}% capfloatsep -\ifhv@framedObject% -\fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% -\else -\raisebox{-\height}{\usebox{\hvObjectBox}}% -\fi% -\else% caption on bottom -\ifhv@framedCaption% -\fbox{\usebox{\hvCaptionBox}} -\else -\usebox{\hvCaptionBox} -\fi% \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedObject% -\fbox{\usebox{\hvObjectBox}} -\else -\usebox{\hvObjectBox} -\fi% -\fi% -\fi% -\else -\ifx\hvSet@capPos\hv@Top -\ifdim\wd\hvCaptionBox>\wd\hvObjectBox -\begin{minipage}{\wd\hvCaptionBox} -\else -\begin{minipage}{\wd\hvObjectBox} -\fi -\centering -\ifhv@framedCaption% -\fbox{\usebox{\hvCaptionBox}}\\[\hvBelowCaptionSkip] -\else -\usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip]% -\fi% -\ifhv@framedObject% -\fbox{\usebox{\hvObjectBox}}% -\else -\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@framedObject -\fbox{\usebox{\hvObjectBox}}\\[\hvAboveCaptionSkip] -\else -\usebox{\hvObjectBox}\\[\hvAboveCaptionSkip] -\fi% -\ifhv@framedCaption -\fbox{\usebox{\hvCaptionBox}}% -\else -\usebox{\hvCaptionBox}% -\fi% -\end{minipage} -\else% the last option: put the caption on the right -\ifx\hvSet@capVPos\hv@Center% -\ifhv@framedObject -\fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} -\else -\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} -\fi% -\hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} \fi% \else% \ifx\hvSet@capVPos\hv@Top -\ifhv@framedObject +\ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% \else \raisebox{-\height}{\usebox{\hvObjectBox}}% \fi% \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% \fi \else -\ifhv@framedObject +\ifhv@fbox \fbox{\usebox{\hvObjectBox}}% \else \usebox{\hvObjectBox}% \fi \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\usebox{\hvCaptionBox}}% \else \usebox{\hvCaptionBox}% \fi% \fi% -\fi -\fi -\fi -\fi - \else -\ifx\hvSet@capPos\hv@Left % caption on left side -\ifx\hvSet@capVPos\hv@Center% -\ifhv@framedCaption% -\fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% -\else -\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} \fi% - \hspace{\hvSet@floatCapSep pt}% capfloatsep -\ifhv@framedObject% -\fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} -\else -\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} -\fi% -\else% -\ifx\hvSet@capVPos\hv@Top % caption at top -\ifhv@framedCaption% -\fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% -\else -\raisebox{-\height}{\usebox{\hvCaptionBox}}% -\fi -\hspace{\hvSet@floatCapSep pt}% capfloatsep -\ifhv@framedObject% -\fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% -\else -\raisebox{-\height}{\usebox{\hvObjectBox}}% -\fi% -\else% caption on bottom -\ifhv@framedCaption% -\fbox{\usebox{\hvCaptionBox}} -\else -\usebox{\hvCaptionBox} -\fi% -\hspace{\hvSet@floatCapSep pt}% -\ifhv@framedObject% -\fbox{\usebox{\hvObjectBox}} -\else -\usebox{\hvObjectBox} -\fi% -\fi% -\fi% -\else +\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} @@ -297,15 +172,12 @@ \begin{minipage}{\wd\hvObjectBox} \fi \centering -\ifhv@framedCaption% +\ifhv@fbox \fbox{\usebox{\hvCaptionBox}}\\[\hvBelowCaptionSkip] +\fbox{\usebox{\hvObjectBox}} \else -\usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip]% -\fi% -\ifhv@framedObject% -\fbox{\usebox{\hvObjectBox}}% -\else -\usebox{\hvObjectBox}% +\usebox{\hvCaptionBox}\\[\hvBelowCaptionSkip] +\usebox{\hvObjectBox} \fi% \end{minipage} \else @@ -316,61 +188,88 @@ \begin{minipage}{\wd\hvObjectBox} \fi \centering -\ifhv@framedObject +\ifhv@fbox \fbox{\usebox{\hvObjectBox}}\\[\hvAboveCaptionSkip] +\fbox{\usebox{\hvCaptionBox}} \else \usebox{\hvObjectBox}\\[\hvAboveCaptionSkip] -\fi% -\ifhv@framedCaption -\fbox{\usebox{\hvCaptionBox}}% -\else -\usebox{\hvCaptionBox}% +\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@framedObject +\ifhv@fbox \fbox{\parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}}} \else \parbox{\wd\hvObjectBox}{\usebox{\hvObjectBox}} \fi% \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}}}% \else \parbox{\wd\hvCaptionBox}{\usebox{\hvCaptionBox}} \fi% \else% \ifx\hvSet@capVPos\hv@Top -\ifhv@framedObject +\ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvObjectBox}}}% \else \raisebox{-\height}{\usebox{\hvObjectBox}}% \fi% \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\raisebox{-\height}{\usebox{\hvCaptionBox}}}% \else \raisebox{-\height}{\usebox{\hvCaptionBox}}% \fi \else -\ifhv@framedObject +\ifhv@fbox \fbox{\usebox{\hvObjectBox}}% \else \usebox{\hvObjectBox}% \fi \hspace{\hvSet@floatCapSep pt}% -\ifhv@framedCaption +\ifhv@fbox \fbox{\usebox{\hvCaptionBox}}% \else \usebox{\hvCaptionBox}% \fi% \fi% \fi +\fi% end of RTL \fi \fi \fi -\fi}% End savebox Object and caption +}% End savebox Object and caption \ifx\hvSet@rotAngle\hv@Zero \usebox{\@tempboxa} \else @@ -386,9 +285,6 @@ \else \end{\hv@floatType}% End the floating environment \fi -\ifhv@fbox % reset local settings - \setkeys{hvSet}{framedCaption=true, framedObject=true} -\fi } %% %% Copyright © 2009–2012 Vafa Khalighi -- cgit v1.2.3