summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/hvfloat/latex/hvfloat-1.inc')
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat-1.inc474
1 files changed, 474 insertions, 0 deletions
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc b/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc
new file mode 100644
index 0000000000..e5e0ead4bb
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat-1.inc
@@ -0,0 +1,474 @@
+%% Herbert Voss <hvoss@tug.org>
+%% Copyright (C) 2023
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%%
+%% ||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
+}
+
+\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*}%
+}
+
+\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
+}