summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/hvfloat/latex/hvfloat-0.inc')
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat-0.inc47
1 files changed, 36 insertions, 11 deletions
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc b/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
index a39a994c76..c461aa6fca 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat-0.inc
@@ -36,15 +36,38 @@
\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}% oddpage->newpage
\fi % end \if@twocolumn
\else% evenpage
- \if@twocolumn
- \if@firstcolumn
- \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}}% ->2nd Col left page and newpage
+ %---------
+ %\typeout{>>>>Setze hv@atPageBeginfalse}%
+ \global\hv@atPageBeginfalse
+ \stepcounter{hvfloat@ref}%
+ \zsavepos{\thehvfloat@ref}%
+ \@tempy=\dimexpr-\zposy{\thehvfloat@ref} sp+\paperheight-1in-\topmargin-\headheight-\headsep\relax
+ \@tempx=\dimexpr-\zposx{\thehvfloat@ref} sp+\evensidemargin+1in\relax
+ %\typeout{>>>>\the\@tempx >>>>>\the\@tempy >>>>\f@size}%
+ \ifdim\@tempy > \dimexpr\f@size pt + 2pt
+ %\typeout{>>>>Case 0, Leere Box oder Text auf der Seite \thehvfloat@ref}%
+ \else
+ \ifdim\@tempx = \z@
+ %\typeout{>>>>Case 2, Absolut oben links auf der Seite \thehvfloat@ref }%
+ \global\hv@atPageBegintrue
\else
- \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% ->newpage ( 2columns)
+ %\typeout{>>>>Case 1, Oben auf der Seite \thehvfloat@ref, aber nicht am Anfang der Zeile}%
\fi
- \else % onecol
- \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% evenpage->newpage->newpage
- \fi % end \if@twocolumn
+ \fi
+ %---------
+ \ifhv@atPageBegin% At the top left of the even page -> output image
+ \do@hvFloat@doubleFullPage@ObjectAndCaption
+ \else
+ \if@twocolumn
+ \if@firstcolumn
+ \afterpage{\afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}}% ->2nd Col left page and newpage
+ \else
+ \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% ->newpage ( 2columns)
+ \fi
+ \else % onecol
+ \afterpage{\afterpage{\do@hvFloat@doubleFullPage@ObjectAndCaption}}% evenpage->newpage->newpage
+ \fi % end \if@twocolumn
+ \fi % end of \ifhv@atPageBegin
\fi% main ifoddpage
\endgroup% started at main macro \hvFloat
}
@@ -53,9 +76,11 @@
\begin{\hv@floatType*}[t]
\hv@set@noverticalSpace
\hfuzz=\maxdimen
+ \let\c@hv@tempCNTfigA\c@figure
+ \let\c@hv@tempCNTtabA\c@table
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection%
- \savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \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}%
\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
@@ -91,11 +116,11 @@
\begin{\hv@floatType*}[t]
\hv@set@noverticalSpace
\hfuzz=\maxdimen
-% \let\c@hv@tempCNTfigA\c@figure
-% \let\c@hv@tempCNTtabA\c@table
+ \let\c@hv@tempCNTfigA\c@figure
+ \let\c@hv@tempCNTtabA\c@table
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection
- \savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \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-1in-\oddsidemargin+\hvSet@bindCorrection}%
\clipbox*{\the\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%