From 3e9c5c6e1c118283b7775fd707379f8c9fdd3fd5 Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
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

