summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hvfloat/latex/hvfloat.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-17 03:01:53 +0000
committerNorbert Preining <norbert@preining.info>2023-10-17 03:01:53 +0000
commit3e9c5c6e1c118283b7775fd707379f8c9fdd3fd5 (patch)
tree40f420b2cc25378ebd0cd509854828b1b7aa337f /macros/latex/contrib/hvfloat/latex/hvfloat.sty
parentc4125da665ac93db063e3c177f4fc5d172f5866f (diff)
CTAN sync 202310170301
Diffstat (limited to 'macros/latex/contrib/hvfloat/latex/hvfloat.sty')
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty665
1 files changed, 61 insertions, 604 deletions
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