From 3e9c5c6e1c118283b7775fd707379f8c9fdd3fd5 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 17 Oct 2023 03:01:53 +0000 Subject: CTAN sync 202310170301 --- macros/latex/contrib/hvfloat/latex/hvfloat.sty | 665 +++---------------------- 1 file changed, 61 insertions(+), 604 deletions(-) (limited to 'macros/latex/contrib/hvfloat/latex/hvfloat.sty') diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty index be6acdf49b..41c8042a4c 100644 --- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty +++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty @@ -1,4 +1,4 @@ -%% $Id: hvfloat.sty 723 2023-05-17 17:27:20Z herbert $ +%% $Id: hvfloat.sty 774 2023-10-16 13:44:29Z herbert $ %% %% %% IMPORTANT NOTICE: @@ -16,8 +16,8 @@ %% `hvfloat' offers rotating of captions and objects for floats %% \NeedsTeXFormat{LaTeX2e} -\def\fileversion{2.46} -\def\filedate{2023/05/16} +\def\fileversion{2.47} +\def\filedate{2023/10/16} \ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)] \let\hvFloatFileVersion\fileversion % @@ -189,6 +189,7 @@ \newif\ifhv@fullpage \newif\ifhv@FULLPAGE +\newif\ifhv@doubleFullPage \newif\ifhv@doubleFULLPAGE \newif\ifhv@doublePAGE \newif\ifhv@doublePage @@ -209,33 +210,39 @@ \define@key{hvSet}{fullpage}[true]{% \global\@nameuse{hv@fullpage#1}% \hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse - \hv@FULLPAGEfalse + \hv@FULLPAGEfalse\hv@doubleFullPagefalse \hvfloat@typeout{>>>>Option fullpage}% } \define@key{hvSet}{FULLPAGE}[true]{% \global\@nameuse{hv@FULLPAGE#1}% \hv@doublePagefalse\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse - \hv@fullpagefalse + \hv@fullpagefalse\hv@doubleFullPagefalse \hvfloat@typeout{>>>>Option FULLPAGE}% } \define@key{hvSet}{doubleFULLPAGE}[true]{% \global\@nameuse{hv@doubleFULLPAGE#1}% \hv@doublePagefalse\hv@doublePAGEfalse - \hv@fullpagefalse\hv@FULLPAGEfalse + \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse \hvfloat@typeout{>>>>Option doubleFULLPAGE->True / doublePAGE->False}% } \define@key{hvSet}{doublePAGE}[true]{% \global\@nameuse{hv@doublePAGE#1}% \hv@doublePagefalse\hv@doubleFULLPAGEfalse - \hv@fullpagefalse\hv@FULLPAGEfalse + \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse \hvfloat@typeout{>>>>Option doublePAGE->True / doubleFULLPAGE->False}% } \define@key{hvSet}{doublePage}[true]{% \global\@nameuse{hv@doublePage#1}% \hv@doublePAGEfalse\hv@doubleFULLPAGEfalse - \hv@fullpagefalse\hv@FULLPAGEfalse + \hv@fullpagefalse\hv@FULLPAGEfalse\hv@doubleFullPagefalse \hvfloat@typeout{>>>>Option doublepage->True / doubleFULLPAGE->False}% } +\define@key{hvSet}{doubleFullPage}[true]{% + \global\@nameuse{hv@doubleFullPage#1}% +% \hv@doublePAGEfalse\hv@doubleFULLPAGEfalse\hv@doublePagefalse +% \hv@fullpagefalse\hv@FULLPAGEfalse + \hvfloat@typeout{>>>>Option doublefullPage->True / doubleFULLPAGE->False}% +} \define@key{hvSet}{bindCorr}[0pt]{% \def\hv@temp{#1}% \ifx\hv@temp\hv@Inner @@ -397,11 +404,21 @@ \def\Gin@eheight{\paperheight}% \Gin@boolkey{false}{iso}% } +\define@key{Gin}{doubleFullPage}[true]{% + \def\Gin@ewidth{2\paperwidth}% +% \def\Gin@eheight{\paperheight}% + \Gin@boolkey{false}{iso}% +} \define@key{Gin}{doublefullPage}[true]{% \def\Gin@ewidth{\the\dimexpr2\paperwidth-2in-2\evensidemargin}% % \def\Gin@eheight{\paperheight}% \Gin@boolkey{true}{iso}% } +\define@key{Gin}{doubleFullPagebindCorr}[true]{% + \def\Gin@ewidth{\the\dimexpr2\paperwidth-2\hvSet@bindCorrection\relax}% +% \def\Gin@eheight{\paperheight}% + \Gin@boolkey{false}{iso}% +} \define@key{Gin}{doubleFULLPAGEbindCorr}[true]{% \def\Gin@ewidth{\the\dimexpr2\paperwidth-2\hvSet@bindCorrection\relax}% \def\Gin@eheight{\paperheight}% @@ -500,8 +517,8 @@ \def\hvFloat{\@ifnextchar*% Main macro - {\global\hv@startrue\hv@maxImageWidth=\textwidth\hvFloat@i}% - {\global\hv@starfalse\hv@maxImageWidth=\columnwidth\hvFloat@i*}% + {\checkoddpage\global\hv@startrue\hv@maxImageWidth=\textwidth\hvFloat@i}% + {\checkoddpage\global\hv@starfalse\hv@maxImageWidth=\columnwidth\hvFloat@i*}% } \def\hvFloat@i*{\@ifnextchar[{\do@hvFloat}{\do@hvFloat[]}} @@ -618,20 +635,26 @@ \setlength\hvCapWidth{\textheight}% \expandafter\do@hvFloat@doubleFULLPAGE\@@temp% fullpage with caption rotated or under on an odd page \else - \ifhv@doublePAGE - \hvfloat@typeout{>>>> do@@hvFloat: doublePAGE true}% - \expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page + \ifhv@doubleFullPage + \hvfloat@typeout{>>>> do@@hvFloat: doubleFullPage true}% + \setlength\hvCapWidth{\textwidth}% + \expandafter\do@hvFloat@doubleFullPage\@@temp% fullpage with caption under an odd page \else - \ifhv@doublePage - \hvfloat@typeout{>>>> do@@hvFloat: doublePage true}% - \expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page + \ifhv@doublePAGE + \hvfloat@typeout{>>>> do@@hvFloat: doublePAGE true}% + \expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page \else - \ifhv@inMargin - \hvfloat@typeout{>>>> do@@hvFloat: inMargin true}% - \do@@@hvFloatInMargin + \ifhv@doublePage + \hvfloat@typeout{>>>> do@@hvFloat: doublePage true}% + \expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page \else - \hvfloat@typeout{>>>> do@@hvFloat: no special caption}% - \do@@@hvFloat + \ifhv@inMargin + \hvfloat@typeout{>>>> do@@hvFloat: inMargin true}% + \do@@@hvFloatInMargin + \else + \hvfloat@typeout{>>>> do@@hvFloat: no special caption}% + \do@@@hvFloat + \fi \fi \fi \fi @@ -804,7 +827,7 @@ \begin{\hv@floatType}% Start the floating environment \fi \fi - \checkoddpage + %%\checkoddpage \ifx\hvSet@objectPos\hv@Right\raggedleft\fi \ifx\hvSet@objectPos\hv@Center \ifhv@nonFloat\hspace*{\fill}\else\centering\fi @@ -1074,7 +1097,7 @@ \ifx\hvSet@floatPos\@empty \else\@namedef{fps@\hv@floatType}{\hvSet@floatPos}\fi \noindent \begingroup% Start the nonfloat part - \checkoddpage + %\checkoddpage \ifx\hvSet@objectPos\hv@Right \raggedleft\fi \ifx\hvSet@objectPos\hv@Center \hspace*{\fill}\fi \ifx\hvSet@objectPos\hv@Outer \ifoddpage\raggedleft\fi\fi @@ -1231,7 +1254,7 @@ \fi \fi \hvfloat@typeout{>>>do@@@@hvFloat: hv@capPos is \the\hv@@capPos}% - \checkoddpage + %\checkoddpage \hvfloat@typeout{>>>do@@@@hvFloat: set floattype}% \set@caption@object{\hv@floatType}% set caption and object into a box \ifcase\hv@@capPos% caption before object 0-> _always_ left @@ -1426,13 +1449,13 @@ \endminipage}% \savebox\hvObjectBox{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% \ifnum#1=0\relax % no rotation, caption below - \hvfloat@typeout{Texthöhe: \the\textheight}% - \hvfloat@typeout{Objekthöhe: \the\ht\hvObjectBox}% - \hvfloat@typeout{Captionhöhe: \the\ht\hvCaptionBox}% +% \hvfloat@typeout{Texthöhe: \the\textheight}% +% \hvfloat@typeout{Objekthöhe: \the\ht\hvObjectBox}% +% \hvfloat@typeout{Captionhöhe: \the\ht\hvCaptionBox}% \@tempdima=\dimexpr\ht\hvObjectBox+\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip +\textfloatsep\relax%+\floatsep\relax - \hvfloat@typeout{Summe: \the\@tempdima}% +% \hvfloat@typeout{Summe: \the\@tempdima}% \ifdim\@tempdima > \dimexpr\textheight-\hv@minTextlines\relax - \hvfloat@typeout{hvfloat: switched to floattype p}% +% \hvfloat@typeout{hvfloat: switched to floattype p}% \hv@switchTypetrue \fi \fi @@ -1440,7 +1463,7 @@ \ifhv@forceOutput \do@hvFloat@doublePAGECaptionRight{#1}% no cheque \else - \checkoddpage + %\checkoddpage \ifoddpage \hvfloat@typeout{do@hvFloat@doublePage:oddpage}% \if@twocolumn @@ -1456,7 +1479,7 @@ \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%}% \fi \else - \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}% +% \hvfloat@typeout{do@hvFloat@doublePage:oddpage->twocolumn->secondcolumn}% \ifhv@tugboat \do@hvFloat@doublePageCaptionRight{#1}% \else @@ -1494,7 +1517,8 @@ \ifhv@switchType \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% \else - \afterpage{\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}}% + %\afterpage{ + \afterpage{\do@hvFloat@doublePageCaptionRight{#1}}%}% \fi \fi \else% onecolumn @@ -1526,7 +1550,7 @@ } % \def\do@hvFloat@doublePageCaptionRightObjectLeft#1{% left part of the object - \begin{\hv@floatType}[!t] + \begin{\hv@floatType*}[!t] \hvfloat@typeout{>>>doublePage: begin with left side of the object \hv@floatObject}% \hv@set@noverticalSpace \hfuzz=\maxdimen @@ -1552,7 +1576,7 @@ \fi \hv@reset@noverticalSpace \hvfloat@typeout{>>>doublePage: end with left side of the object \hv@floatObject}% - \end{\hv@floatType}% + \end{\hv@floatType*}% } \def\do@hvFloat@doublePageCaptionRightObjectRight#1{% right part of the object @@ -1633,579 +1657,12 @@ % \newsavebox\hv@boxLeftPage \newsavebox\hv@boxRightPage -% -%% ||1in+evenside --- |1in+oddside ---|| -% -\def\do@hvFloat@doublePAGE#1{% image on left and right page with caption on the right ---------------------------------- - % #1-> 0/1 caption under/right -% \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}% -% \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}% - \expandafter\global\expandafter\savebox\expandafter\hvObjectBox\expandafter{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \expandafter\global\expandafter\savebox\expandafter\hv@boxLeftPage\expandafter{\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}% - \expandafter\global\expandafter\savebox\expandafter\hv@boxRightPage\expandafter{\clipbox*{\hv@leftPageObjectWidth{} -\depth{} \width{} \height}{\usebox\hvObjectBox}}% - \checkoddpage - \ifoddpage - \hvfloat@typeout{do@hvFloat@doublePAGE: oddpage}% - \if@twocolumn - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->firstcolumn}% - \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% - \else - \hvfloat@typeout{do@hvFloat@doublePAGE: ifoddpage->twocolumn->secondcolumn}% - \do@hvFloat@doublePAGECaptionRight{#1}% - \fi - \else - \do@hvFloat@doublePAGECaptionRight{#1}% - \fi - \else - \hvfloat@typeout{do@hvFloat@doublePAGE: evenpage}% - \if@twocolumn - \if@firstcolumn - \afterpage{\afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}}% - \else - \afterpage{\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}}% - \fi - \else - \afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}% onecolumn/left page - \fi - \fi - \endgroup% startet at main macro -} -% -\def\do@hvFloat@doublePAGECaptionRight#1{% image on left and right page with caption on the right ---------------------------------- - % #1-> 0/1 caption under/right - \hvfloat@typeout{do@hvFloat@doublePAGECaptionRight->start}% - \afterpage{% - \hfuzz=\maxdimen - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi - \ifx\hv@subcaption@format\@empty\else - \expandafter - \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter - {\hv@subcaption@format}% - \fi - \ifhv@useOBox - \global\let\hvObjectBox\hvOBox - \else - \global\savebox\hvObjectBox{\hv@floatObject}% - \fi - \noindent - \global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection% - \global\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection% - \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}% - \ifx\hv@label\@empty\else\label{\hv@label}\fi - \null\newpage\if@twocolumn\null\newpage\fi - \expandafter\global\expandafter\savebox\expandafter\hvObjectBox\expandafter{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \noindent - \hspace*{\dimexpr-\hv@tempWidthA}% - \clipbox*{\the\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}% - \ifx\hv@label\@empty\else\label{\hv@label-2}\fi - \begingroup - \ifnum#1>0 - \medskip - \ifdim\dp\hvObjectBox > \z@ - \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{% - \ifx\relax\hv@shortCap\relax - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - }}% - \else - \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{% - \ifx\relax\hv@shortCap\relax - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - }}% - \fi - \else% caption not rotated - \par\noindent - \parbox{\textwidth}{% - \expandafter\hvFloatSet\expandafter{\hv@save@setting,capFormat={font={tiny},labelsep=newline}}% - \ifx\relax\hv@shortCap\relax - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - }% - \fi - \endgroup - \newpage\if@twocolumn\null\newpage\fi - }% -} -% -%% ||1in+evenside --- |1in+oddside ---|| -% -\def\do@hvFloat@doubleFULLPAGE#1{% image on left and right page with caption before/below/right/after - % #1-> 0/1 caption under/right - \hvfloat@typeout{>>> do@hvFloat@doubleFULLPAGE: #1}% - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi - \ifx\hv@subcaption@format\@empty\else - \expandafter - \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter - {\hv@subcaption@format}% - \fi - \ifx\hvSet@capPos\hv@After \global\hv@@capPos=1 - \else - \ifx\hvSet@capPos\hv@Before \global\hv@@capPos=0 - \else - \global\hv@@capPos=2 % other caption type - \fi\fi - \checkoddpage - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \global\hv@tempWidthA=\dimexpr-\oddsidemargin-1in-\parindent+\hvSet@bindCorrection% the width of the right side offset - \global\hv@tempWidthB=\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection% - \global\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection% -% \savebox\hv@leftBox{\clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}% -% \savebox\hv@rightBox{\clipbox*{\the\hv@leftPageObjectWidth{} \depth{} \width{} \height}{\usebox\hvObjectBox}}% -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifoddpage - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage}% - \ifcase\hv@@capPos % =0 Caption before - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before (0)}% - \if@twocolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn}% - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/firstcolumn}% - \ifhv@twoColumnCaption - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/twoColumnCaption}% - \set@Normal@Bottom@Caption* - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption before/twocolumn/firstcolumn/oneColCaption}% - \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}% - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/twocolumn/secondcolumn}% - \set@Normal@Bottom@Caption - \do@hvFloat@doubleFULLPAGE@CaptionBefore - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption before/onecolumn}% - \set@Normal@Bottom@Caption - \do@hvFloat@doubleFULLPAGE@CaptionBefore - \fi - \or % =1 Caption after - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after (1)}% - \ifhv@twoColumnCaption - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption (1)}% - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/firstcolumn (1)}% - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/secondcolumn (1)}% - \do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/oneColCaption (1)}% - \if@twocolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn (1)}% - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> oddpage/caption after/twoColCaption/twocolumn/firstcolumn (1)}% - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/twocolumn/secondcolumn (1)}% - \do@hvFloat@doubleFULLPAGE@CaptionAfter - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: oddpage/caption after/twoColCaption/onecolumn (1)}% - \do@hvFloat@doubleFULLPAGE@CaptionAfter - \fi - \fi - \else% \ifcase >1 all other Captions - \if@twocolumn - \if@firstcolumn - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}% - \else - \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}% - \fi - \else % \if@twocolumn - \do@hvFloat@doubleFULLPAGE@CaptionOther{#1}% - \fi - \fi% \ifcase - \else% we have an even page - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage (1 -- \thepage)}% - \ifcase\hv@@capPos% Before - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before (0 -- \thepage)}% - \if@twocolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn (0 -- \thepage)}% - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption before/twocolumn/firstcolumn (0 -- \thepage)}% - \ifhv@twoColumnCaption - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/firstcolumn/twocolCap (0 -- \thepage)}% - \afterpage{\afterpage\set@Normal@Bottom@Caption*\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2 -> evenpage/caption before/twocolumn/firstcolumn/oneColCap (0 -- \thepage)}% - \afterpage{\afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}}% - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage^2->evenpage/caption before/twocolumn/secondcolumn (0 -- \thepage)}% - \afterpage{\afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore{#1}}}% - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption before/onecolumn (0 -- \thepage)}% - \afterpage{\set@Normal@Bottom@Caption\do@hvFloat@doubleFULLPAGE@CaptionBefore}% - \fi - \or % capPos after - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after (1 -- \thepage)}% - \if@twocolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn (1 -- \thepage)}% - \if@firstcolumn - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/firstcolumn (1 -- \thepage)}% - \ifhv@twoColumnCaption - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/twoColCaption (1 -- \thepage)}% - \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/twocolumn/firstcolumn/oneColCaption (1 -- \thepage)}% - \afterpage{\afterpage\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}% - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: evenpage/caption after/twocolumn/secondcolumn (1 -- \thepage)}% - \ifhv@twoColumnCaption - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/twoColCaption (1 -- \thepage)}% - \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{#1}}}% - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage1 2 -> evenpage/caption after/twocolumn/secondcolumn/oneColCaption (1 -- \thepage)}% - \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter{#1}}}% - \fi - \fi - \else - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE: afterpage -> evenpage/caption after/onecolumn (1 -- \thepage)}% - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionAfter}% - \fi - \else % \ifcase Any other caption - \if@twocolumn - \if@firstcolumn - \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}}% - \else - \afterpage{\afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}}% - \fi - \else - \afterpage{\do@hvFloat@doubleFULLPAGE@CaptionOther{#1}}% - \fi - \fi% \ifcase - \fi% main ifoddpage - \endgroup% started at main macro \hvFloat -} +\input{hvfloat-2.inc} -\def\set@Normal@Bottom@Caption{\@ifnextchar*\set@Normal@Bottom@CaptionStar\set@Normal@Bottom@Caption@} -\def\set@Normal@Bottom@Caption@{% - \begin{\hv@floatType}[!b] - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifhv@separatorLine\drawSepLine\fi -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \end{\hv@floatType}% -} -\def\set@Normal@Bottom@CaptionStar*{% - \begin{\hv@floatType*}[!b] - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifhv@separatorLine\drawSepLine\fi -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \end{\hv@floatType*}% -} +\input{hvfloat-1.inc} -\def\do@hvFloat@doubleFULLPAGE@CaptionBefore{% - \afterpage{% - \hfuzz=\maxdimen - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip - \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}% - \thispagestyle{empty}% - \ifx\hv@floatType\hv@figure - \global\refstepcounter{hv@tempCNTfigB}% - \else - \global\refstepcounter{hv@tempCNTtabB}% before caption - \fi - \expandafter\label\expandafter{\hv@label}% - \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}% - \afterpage{% - \if@twocolumn\newpage\null\newpage\fi - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \thispagestyle{empty}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox - \hspace*{\hv@tempWidthA}% - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \global\refstepcounter{hv@tempCNTfigA}% - \else - \global\refstepcounter{hv@tempCNTtabA}% before caption - \fi - \expandafter\label\expandafter{\hv@label-2}% - \newpage\if@twocolumn\null\newpage\fi - }}% -} - -\newif\ifhv@temp - -\def\do@hvFloat@doubleFULLPAGE@CaptionAfter{% - \afterpage{% - \hfuzz=\maxdimen - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip - \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}% - \thispagestyle{empty}% - \clipbox*{0 \the\dp\hvObjectBox{} \the\hv@leftPageObjectWidth{} \the\ht\hvObjectBox}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigA}% - \else - \refstepcounter{hv@tempCNTtabA}% before caption - \fi - \ifx\hv@label\@empty\else\label{\hv@label}\fi - \newpage\if@twocolumn\null\newpage\fi - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \thispagestyle{empty}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox - \hspace*{\hv@tempWidthA}% - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigB}% - \else - \refstepcounter{hv@tempCNTtabB}% before caption - \fi - \expandafter\label\expandafter{\hv@label-2}% - \newpage\if@twocolumn\null\newpage\fi - \begin{\hv@floatType}[!b] - \ifhv@separatorLine\drawSepLine\fi -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \end{\hv@floatType}% - }% -} - -\def\do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol{% - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: start} % - \afterpage{% - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage start} % - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% no interlineskip - \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}% - \thispagestyle{empty}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigA}% - \else - \refstepcounter{hv@tempCNTtabA}% before caption - \fi - \ifx\hv@label\@empty\else\label{\hv@label}\fi - \clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}% - \newpage\if@twocolumn\null\newpage\fi - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: insert newpage} % - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \thispagestyle{empty}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox - \hspace*{\hv@tempWidthA}% - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \clipbox*{\the\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigB}% - \else - \refstepcounter{hv@tempCNTtabB}% before caption - \fi - \ifx\hv@label\@empty\else\label{\hv@label-2}\fi - \newpage\if@twocolumn\null\newpage\fi - \begin{\hv@floatType*}[!b] - \hv@twoColumnCaptiontrue - \ifhv@separatorLine\drawSepLine\fi -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \end{\hv@floatType*}% - }% - \hvfloat@typeout{do@hvFloat@doubleFULLPAGE@CaptionAfterTwoCol: afterpage done} % -} - -\def\do@hvFloat@doubleFULLPAGE@CaptionOther#1{% - \afterpage{% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox - \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}% - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \thispagestyle{empty}% - \hfuzz=\maxdimen - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \clipbox*{0 \depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigA}% - \else - \refstepcounter{hv@tempCNTtabA}% before caption - \fi - \label{\hv@label}% - \afterpage{% - \if@twocolumn\newpage\if@firstcolumn\else\null\newpage\fi\fi - \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}% - \thispagestyle{empty}% - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-\baselineskip-\parskip+1.5\lineskip}% -0.5\paperheight+0.5\ht\hvObjectBox - \hspace*{\hv@tempWidthA}% - \clipbox*{\hv@leftPageObjectWidth{} \dp\hvObjectBox{} \wd\hvObjectBox{} \ht\hvObjectBox}{\usebox\hvObjectBox}% - \ifx\hv@floatType\hv@figure - \refstepcounter{hv@tempCNTfigB}% - \else - \refstepcounter{hv@tempCNTtabB}% before caption - \fi - \expandafter\label\expandafter{\hv@label-2}% - \savebox\hvCaptionBox{\parbox{0.9\ht\hvObjectBox}{\captionof*{\hv@floatType}{\hv@longCap}}}% - \ifnum#1 > 0\relax % rotation with 90° -% \setlength\hv@tempWidthB{\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection}% - \ifdim\hv@tempWidthB < 2\paperwidth - \rotatebox[origin=lb]{90}{\makebox[\paperheight][c]{\parbox{0.8\ht\hvObjectBox}{% -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - }}}% rotatebox - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \else% ifdim: no space left on page - \put(-2\ht\hvCaptionBox,0.5\ht\hvObjectBox){\makebox(0,0){\rotatebox{90}{\minipage{\textwidth}\centering - \parbox{0.8\textwidth}{% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - }% - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \endminipage}}}% - \fi - \else% ifnum, caption not rotated, under or over the right page - \hv@tempWidthA=\the\dimexpr\paperheight-\ht\hvObjectBox\relax - \ifdim\hv@tempWidthA > \ht\hvCaptionBox - \else - \put(\the\dimexpr1.5\paperwidth-\wd\hvObjectBox-\hvSet@bindCorrection,\the\dimexpr\ht\hvCaptionBox+\abovecaptionskip+\belowcaptionskip){\makebox[0pt][c]{\parbox{\textwidth}{%% -% \expandafter\captionsetup\expandafter{\hv@caption@format}% - \ifhv@onlyText - \hv@longCap - \else - \ifx\hv@shortCap\@empty - \captionof{\hv@floatType}{\hv@longCap}% - \else - \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}% - \fi - \fi - }}}% - \ifx\hv@label\@empty\else\label{\hv@label-cap}\fi - \fi - \fi% end \ifnum#1>0 - \newpage\if@twocolumn\null\newpage\fi - }% - }% -} - - -\def\setBottomCaption{% - \ifhv@twoColumnCaption - \begin{\hv@floatType*}[!b]% - \else - \begin{\hv@floatType}[!b]% - \fi - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifhv@separatorLine\drawSepLine\fi - \par - \usebox\hvCaptionBox - \ifhv@twoColumnCaption - \end{\hv@floatType*}% - \else - \end{\hv@floatType}% - \fi -} - -\def\setPageObject{% - \hvfloat@typeout{>>>> setPageObject/start environment ...}% - \afterpage{\checkoddpage}% - \ifhv@star - \begin{\hv@floatType*}[p]% - \else - \begin{\hv@floatType}[p]% - \fi - \hv@tempcnt=\@floatpenalty% suppress "float too big" message - \hfuzz=\maxdimen - \expandafter\hvFloatSet\expandafter{\hv@save@setting}% - \ifhv@FULLPAGE - \hvfloat@typeout{>>>> setPageObject/FULLPAGE}% - \@floatpenalty=\z@% no message that float too large - \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep}%-0.5\baselineskip% - \if@twoside - \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside}% - \ifoddpage - \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/oddpage (\thepage)}% - \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}% - \else - \hvfloat@typeout{>>>> setPageObject/FULLPAGE/twoside/evenpage (\thepage)}% - \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}% - \fi - \else - \hvfloat@typeout{>>>> setPageObject/FULLPAGE/oneside}% - \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}% - \fi - \hvfloat@typeout{>>>> setPageObject/FULLPAGE/set pagestyle empty}% - \AtBeginShipoutNext{\thispagestyle{empty}}% to prevent heading/footer -% \afterpage{\AddToHookNext{shipout/after}{\thispagestyle{empty}}}% - \usebox\hvObjectBox - \else - \hvfloat@typeout{>>>> setPageObject/NO FULLPAGE}% - \usebox\hvObjectBox - \fi - \hvfloat@typeout{>>>> setPageObject/stop environment}% - \ifhv@star - \end{\hv@floatType*}% - \else - \end{\hv@floatType}% - \fi - \@floatpenalty=\hv@tempcnt% restore -} +\input{hvfloat-0.inc} \ExplSyntaxOn -- cgit v1.2.3