summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hvfloat
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-08 03:02:17 +0000
committerNorbert Preining <norbert@preining.info>2021-06-08 03:02:17 +0000
commit19ec3a90133b7827c16b0ffde16152fb4d566138 (patch)
tree056101811eeb7e1bfb0067e3628591dd0e52bc06 /macros/latex/contrib/hvfloat
parent1ba2ae020aea220436899cf65f5a85c1686940cd (diff)
CTAN sync 202106080302
Diffstat (limited to 'macros/latex/contrib/hvfloat')
-rw-r--r--macros/latex/contrib/hvfloat/Changes3
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capPos.inc129
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capPos.ltx34
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capPos.tex147
-rw-r--r--macros/latex/contrib/hvfloat/doc/examples/capVPos.inc133
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin7111003 -> 7113219 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex5
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty209
8 files changed, 421 insertions, 239 deletions
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index 90d8f75e71..18e87aded3 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,7 @@
hvfloat.sty:
+2.27 2021-06-07 - added \tabcaptionbelow
+ - fix bug with vertical alignment for top captions
+ - fix for local caption and subcaption setting
2.26 2021-05-31 - allow option wide in twocolumn mode
- allow a stretched minipage for
multifloat and multisubfloat by using
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capPos.inc b/macros/latex/contrib/hvfloat/doc/examples/capPos.inc
new file mode 100644
index 0000000000..0acdf34bf0
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/capPos.inc
@@ -0,0 +1,129 @@
+
+\subsection{\texttt{default}}
+\blindtext
+
+\begin{lstlisting}
+\hvFloat{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+
+
+%----------------------top-----------------------------------
+\subsection{\texttt{capPos=top}}
+
+\begin{lstlisting}
+\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+%----------------------before-----------------------------------
+\subsection{\texttt{capPos=before}, same as \texttt{capPos=left}}
+
+\begin{lstlisting}
+\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+\NewColumn
+
+%----------------------after-----------------------------------
+\subsection{\texttt{capPos=after}, same as \texttt{capPos=right}}
+
+\begin{lstlisting}
+\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+%----------------------inner-----------------------------------
+\subsection{\texttt{capPos=inner}}
+
+\begin{lstlisting}
+\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+
+%----------------------outer-----------------------------------
+\subsection{\texttt{capPos=outer}}
+
+\begin{lstlisting}
+\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capPos.ltx b/macros/latex/contrib/hvfloat/doc/examples/capPos.ltx
deleted file mode 100644
index 9fcd593abb..0000000000
--- a/macros/latex/contrib/hvfloat/doc/examples/capPos.ltx
+++ /dev/null
@@ -1,34 +0,0 @@
-\documentclass[twoside,DIV=11]{scrartcl}
-%% $Id: capPos.ltx 72 2021-05-02 11:40:10Z herbert $
-
-\input{preamble.ltx}
-\usepackage{multicol}
-\usepackage[all=!htb]{hvfloat-fps}
-
-\setlength\columnseprule{0.4pt}
-\def\capShortText{A short caption}
-\def\capLongText{Here comes a caption to show the justification of the text relative to the object. It refers to
-the optional argument \texttt{capPos}.}
-
-\let\OrigBlindtext\blindtext
-\def\blindtext{\TeX\ is a typesetting language. Instead of visually formatting your text, you enter y
-our manuscript text intertwined with \TeX\ commands in a plain text file. You then run \TeX\ to
-produce formatted output, such as a PDF file. %Thus, in contrast to standard word processors,
-%your document is a separate file that does not pretend to be a representation of the final
-%typeset output, and so can be easily edited and manipulated.
-}
-
-
-
-\begin{document}
-\part{Examples for \texttt{capPos} and onecolumn mode}\clearpage
-\let\NewColumn\clearpage
-\input{capPos}
-
-\twocolumn[\part{Examples for \texttt{capPos} and twocolumn mode}]
-\def\blindtext{\OrigBlindtext}
-\let\NewColumn\columnbreak
-\input{capPos}
-
-
-\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capPos.tex b/macros/latex/contrib/hvfloat/doc/examples/capPos.tex
index db2e889f6e..3887dfd06e 100644
--- a/macros/latex/contrib/hvfloat/doc/examples/capPos.tex
+++ b/macros/latex/contrib/hvfloat/doc/examples/capPos.tex
@@ -1,129 +1,50 @@
+\documentclass[twoside,DIV=13]{scrartcl}
+%% $Id: capPos.tex 103 2021-05-31 12:37:11Z herbert $
-\section{\texttt{default}}
-\blindtext
+\input{preamble.ltx}
+\usepackage{multicol}
+\usepackage[all=!htb]{hvfloat-fps}
-\begin{lstlisting}
-\hvFloat{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
+\setlength\columnseprule{0.4pt}
+\def\capShortText{A short caption}
+\def\capLongText{Here comes a caption to show the justification of the text relative to the object. It refers to
+the optional argument \texttt{capPos}.}
-\hvFloat{figure}{\includegraphics{frose}}{\capShortText}{}
+\let\OrigBlindtext\blindtext
+\def\myblindtext{\TeX\ is a typesetting language. Instead of visually formatting your text, you enter y
+our manuscript text intertwined with \TeX\ commands in a plain text file. You then run \TeX\ to
+produce formatted output, such as a PDF file. %Thus, in contrast to standard word processors,
+%your document is a separate file that does not pretend to be a representation of the final
+%typeset output, and so can be easily edited and manipulated.
+}
-\blindtext
-\begin{lstlisting}
-\hvFloat{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-\hvFloat{figure}{\includegraphics{frose}}{\capLongText}{}
+\begin{document}
-\blindtext
+\tableofcontents
-\NewColumn
+\newpage
+\section{Examples for \texttt{capPos} and onecolumn mode}
+\let\NewColumn\clearpage
+\let\blindtext\myblindtext
+\input{capPos.inc}
+\section{Examples for \texttt{capVPos} and onecolumn mode }
+Horizontal alignment with the optional arguments from package \texttt{caption}, e.g. \texttt{singlelinecheck=off} for short captions.
-%----------------------top-----------------------------------
-\section{\texttt{capPos=top}}
+\input{capVPos.inc}
-\begin{lstlisting}
-\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
-\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\twocolumn[\section{Examples for \texttt{capPos} and twocolumn mode}]
+\let\NewColumn\columnbreak
+\input{capPos.inc}
-\blindtext
+\let\blindtext\OrigBlindtext
+\section{Examples for \texttt{capVPos} and twocolumn mode (\texttt{capPos=right})}
+\let\NewColumn\columnbreak
+\input{capVPos.inc}
-\begin{lstlisting}
-\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
-
-\blindtext
-
-\NewColumn
-
-%----------------------before-----------------------------------
-\section{\texttt{capPos=before}, same as \texttt{capPos=left}}
-
-\begin{lstlisting}
-\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capShortText}{}
-
-\blindtext
-
-\begin{lstlisting}
-\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=before]{figure}{\includegraphics{frose}}{\capLongText}{}
-
-\blindtext
-\NewColumn
-
-%----------------------after-----------------------------------
-\section{\texttt{capPos=after}, same as \texttt{capPos=right}}
-
-\begin{lstlisting}
-\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capShortText}{}
-
-\blindtext
-
-\begin{lstlisting}
-\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=after]{figure}{\includegraphics{frose}}{\capLongText}{}
-
-\blindtext
-
-\NewColumn
-
-%----------------------inner-----------------------------------
-\section{\texttt{capPos=inner}}
-
-\begin{lstlisting}
-\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capShortText}{}
-
-\blindtext
-
-\begin{lstlisting}
-\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=inner]{figure}{\includegraphics{frose}}{\capLongText}{}
-
-\blindtext
-
-\NewColumn
-
-
-%----------------------outer-----------------------------------
-\section{\texttt{capPos=outer}}
-
-\begin{lstlisting}
-\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capShortText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capShortText}{}
-
-\blindtext
-
-\begin{lstlisting}
-\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capLongText}{}
-\end{lstlisting}
-
-\hvFloat[capPos=outer]{figure}{\includegraphics{frose}}{\capLongText}{}
-
-\blindtext
-
-\NewColumn
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc b/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
new file mode 100644
index 0000000000..10ef70e88c
--- /dev/null
+++ b/macros/latex/contrib/hvfloat/doc/examples/capVPos.inc
@@ -0,0 +1,133 @@
+%\define@choicekey*+{hvSet}{capVPos}[\val\nr]{bottom,center,top}[center]{%
+
+
+\iffalse
+justification=
+ justified
+ centering
+ centerlast
+ centerfirst
+ raggedright
+ RaggedRight
+ raggedleft
+\fi
+
+\subsection{\texttt{default}, same as \texttt{center}}
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capFormat={singlelinecheck=off}]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capFormat={singlelinecheck=off}]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+
+
+%----------------------top-----------------------------------
+\subsection{\texttt{capVPos=top}}
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=top]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=top]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
+
+%----------------------bottom-----------------------------------
+\subsection{\texttt{capVPos=bottom}}
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=bottom]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=bottom]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+\NewColumn
+
+%----------------------center-----------------------------------
+\subsection{\texttt{capPos=center}}
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capFormat={singlelinecheck=off},capVPos=center]{figure}{\includegraphics{frose}}{\capShortText}{}
+
+\blindtext
+
+\begin{lstlisting}
+\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
+\end{lstlisting}
+
+\hvFloat[capPos=right,capVPos=center]{figure}{\includegraphics{frose}}{\capLongText}{}
+
+\blindtext
+
+\NewColumn
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 981f685c0a..ce628eaf57 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.tex b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
index 807a63415e..df1729be27 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.tex 103 2021-05-31 12:37:11Z herbert $
+%% $Id: hvfloat.tex 105 2021-06-07 07:30:15Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside,paper=a4,]{scrartcl}
@@ -261,7 +261,8 @@ be used for own purposes.
\begin{BDef}
\Lcs{figcaption}\OptArg{short caption text}\Largb{caption text}\\
-\Lcs{tabcaption}\OptArg{short caption text}\Largb{caption text}
+\Lcs{tabcaption}\OptArg{short caption text}\Largb{caption text}\\
+\Lcs{tabcaptionbelow}\OptArg{short caption text}\Largb{caption text}\\
\end{BDef}
They are used for the \Lkeyword{nonFloat} keyword, where these macros write captions in the same way but outside of
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index 66a354eae6..cb9f1b0742 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 103 2021-05-31 12:37:11Z herbert $
+%% $Id: hvfloat.sty 105 2021-06-07 07:30:15Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -15,8 +15,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.26}
-\def\filedate{2021/05/26}
+\def\fileversion{2.27}
+\def\filedate{2021/06/07}
\message{`hvfloat' v\fileversion, \filedate\space (Herbert Voss)}
\ProvidesPackage{hvfloat}[\filedate\ rotating of floating objects]
\let\hvFloatFileVersion\fileversion
@@ -29,6 +29,7 @@
\DeclareOption{fbox}{\hv@fboxtrue\setlength{\fboxsep}{1pt}}
\DeclareOption{hyperref}{\hv@hyperreftrue}
\DeclareOption{nostfloats}{\hv@nostfloatstrue}
+\DeclareOption{no-stfloats}{\hv@nostfloatstrue}
\ProcessOptions
@@ -41,6 +42,9 @@
\PassOptionsToPackage{hypcap}{caption}
\RequirePackage{caption}
+\RequirePackage{varwidth}
+\DeclareCaptionBox{varwidth}{\varwidth[b]{#1}#2\endvarwidth}
+
\PassOptionsToPackage{hypcap}{subcaption}
\RequirePackage{subcaption}
\RequirePackage{atbegshi}
@@ -48,6 +52,7 @@
\RequirePackage{expl3,multido}
\RequirePackage{graphicx}
+\RequirePackage{varwidth}
\RequirePackage{xkeyval}
\RequirePackage{ifoddpage}
@@ -136,7 +141,20 @@
\else
\gdef\hv@@capVPos{t}%
\fi
-}{\PackageWarning{hvfloat}{erroneous input (#1) for capVPos ignored. Using bottom.}%
+}{\PackageWarning{hvfloat}{erroneous input (#1) for capVPos ignored. Using center.}%
+ \def\hvSet@capVPos{center}% it is relativ to the object
+ }
+
+\define@choicekey*+{hvSet}{allHPos}[\val\nr]{left,center,right}[center]{%
+ \def\hvSet@allHPos{#1}%
+ \ifcase\nr\relax
+ \gdef\hv@@allHPos{l}%
+ \or
+ \gdef\hv@@allHPos{c}%
+ \else
+ \gdef\hv@@allHPos{r}%
+ \fi
+}{\PackageWarning{hvfloat}{erroneous input (#1) for allHPos ignored. Using center.}%
\def\hvSet@capVPos{center}% it is relativ to the object
}
@@ -230,8 +248,8 @@
%
\newcommand\setDefaults{%
\hv@set{%
- floatPos=, rotAngle=0, capWidth=n, capAngle=0,
- capPos=bottom, capVPos=center, objectPos=center, objectAngle=0,
+ floatPos=, rotAngle=0, capWidth=n, capAngle=0, objectAngle=0,
+ capPos=bottom, capVPos=center, objectPos=center, allHPos=center,
floatCapSep=5pt, useOBox=false, nonFloat=false,
onlyText=false, wide=false, fullpage=false, FULLPAGE=false,
doubleFULLPAGE=false, doublePage=false, doublePAGE=false,
@@ -273,15 +291,28 @@
\setlength\abovecaptionskip{\hvAboveCaptionSkip}%
\setlength\belowcaptionskip{\hvBelowCaptionSkip}%
}
+
+\providecommand\figcaption[2][]{}%
+\providecommand\tabcaption[2][]{}%
+\providecommand\tabcaptionbelow[2][]{}%
%
-\newcommand\figcaption[2][]{%
- \def\@captype{figure}%
+\renewcommand\figcaption[2][]{%
\begingroup
+ \def\@captype{figure}%
\ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\if$#1$ \caption{#2}\else\caption[#1]{#2}\fi
\endgroup}
-\newcommand\tabcaption[2][]{\def\@captype{table}%
+\renewcommand\tabcaption[2][]{%
+ \begingroup
+ \def\@captype{table}%
+ \edef\hv@caption@format{position=top,\hv@caption@format}%
+ \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\relax#1\relax \caption{#2}\else\caption[#1]{#2}\fi
+ \endgroup}
+\renewcommand\tabcaptionbelow[2][]{%
\begingroup
+ \def\@captype{table}%
+ \edef\hv@caption@format{position=below,\hv@caption@format}%
\ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifx\relax#1\relax \caption{#2}\else\caption[#1]{#2}\fi
\endgroup}
@@ -372,6 +403,21 @@
\fi
}
+
+\def\drawSepLine{%
+ \par\noindent
+ \if@twocolumn
+ \ifhv@twoColumnCaption
+ \rule{\linewidth}{0.4pt}\\[-2.5ex]
+ \else
+ \rule{\columnwidth}{0.4pt}\\[-2.5ex]
+ \fi
+ \else
+ \rule{\linewidth}{0.4pt}\\[-2.5ex]
+ \fi
+ \vspace{\hv@sepLineskip}%
+}
+
\newcounter{hv@tempCNTfigA}%
\newcounter{hv@tempCNTfigB}%
\newcounter{hv@tempCNTtabA}%
@@ -415,6 +461,12 @@
\setcounter{hv@tempCNTtabB}{\value{table}}%
\gdef\hv@save@setting{#1}%
\ifx\relax#1\relax\else\setkeys{hvSet}{#1}\fi
+ \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
\gdef\hv@floatType{figure}% presetting
\@ifnextchar+{\do@multiFloat}{\hvFloat@ii[#1]}%
}
@@ -466,20 +518,6 @@
-\def\drawSepLine{%
- \par\noindent
- \if@twocolumn
- \ifhv@twoColumnCaption
- \rule{\linewidth}{0.4pt}\\[-2.5ex]
- \else
- \rule{\columnwidth}{0.4pt}\\[-2.5ex]
- \fi
- \else
- \rule{\linewidth}{0.4pt}\\[-2.5ex]
- \fi
- \vspace{\hv@sepLineskip}%
-}
-
\newcount\hv@cnta
\newcount\hv@cntb
@@ -597,8 +635,7 @@
\saveCaptionSkip% we put this space ourselve
\ifnum\hvSet@capAngle=0 % need rotation?
\savebox\hvCaptionBox{% NO rotation
- \begin{minipage}[b]{\hvCapWidth}%% minipage, to get hyphenation
- \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+ \minipage[b]{\hvCapWidth}%% minipage, to get hyphenation
\ifhv@nonFloat
\ifhv@onlyText
\hv@longCap
@@ -625,22 +662,22 @@
\ifx\hv@shortCap\@empty\caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}\fi
\fi
\fi
- \ifx\hv@label\@empty\else\label{\hv@label}\fi
- \end{minipage}%
+ \ifx\hv@label\@empty\else\label{\hv@label}\fi
+ \endminipage
}%
\else
\savebox\hvCaptionBox{% Rotation
\rotatebox{\hvSet@capAngle}{%
- \begin{minipage}[b]{\hvCapWidth}%% minipage, to get hyphenation
- \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+ \minipage[b]{\hvCapWidth}%% minipage, to get hyphenation
+% \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifhv@nonFloat
\ifhv@onlyText
\hv@longCap
\else
\ifx\hv@floatType\hv@figure
- \ifx\relax\hv@shortCap\relax \figcaption{\hv@longCap}\else\figcaption[\hv@shortCap]{\hv@longCap}\fi
+ \ifx\hv@shortCap\@empty \figcaption{\hv@longCap}\else\figcaption[\hv@shortCap]{\hv@longCap}\fi
\else
- \ifx\relax\hv@shortCap\relax \tabcaption{\hv@longCap}\else\tabcaption[\hv@shortCap]{\hv@longCap}\fi
+ \ifx\hv@shortCap\@empty \tabcaption{\hv@longCap}\else\tabcaption[\hv@shortCap]{\hv@longCap}\fi
\fi
\fi
\else
@@ -648,12 +685,12 @@
\hv@longCap
\else
\let\@captype\hv@floatType
- \ifx\relax\hv@shortCap\relax \caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}%
+ \ifx\hv@shortCap\@empty \caption{\hv@longCap}\else\caption[\hv@shortCap]{\hv@longCap}%
\fi
\fi
\fi
\ifx\hv@label\@empty\else\label{\hv@label}\fi
- \end{minipage}%
+ \endminipage
}% rotatebox
}% \sbox
\fi
@@ -735,7 +772,7 @@
\savebox{\@tempboxa}{% ***** @tempbox start
\expandafter\ifcase\the\hv@@capPos% 0 is LEFT START \ifcase
\ifx\hvSet@capVPos\hv@Center
- \put@CaptionBox
+ \put@CaptionBox
\hspace{\hvSet@floatCapSep}% capfloatsep
\put@ObjectBox
\else
@@ -847,8 +884,8 @@
}
%
\newenvironment{hvFloatEnv}[1][\textwidth]
- {\minipage{#1}\center}
- {\endcenter\endminipage}
+ {\minipage{#1}}
+ {\endminipage}
%
\ExplSyntaxOn
@@ -1010,6 +1047,7 @@
\global\setlength\hv@leftPageObjectWidth{\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
\global\setlength\hv@tempWidthA{\the\dimexpr-1in-\oddsidemargin+\hvSet@bindCorrection}%
\xdef\hv@@capAngle{\hvSet@capAngle}%
+ \xdef\hv@caption@format@temp{\hv@caption@format}% it gets lost otherwise for next afterpage
\checkoddpage
\ifoddpage
\if@twocolumn
@@ -1036,7 +1074,7 @@
\afterpage{\afterpage{\do@hvFloat@doublePageCaptionRight{#1}}}%
\fi
\fi
- \endgroup% started at main macro \hvFloat
+ \endgroup% started at main macro \hvFloat
}
%
\def\do@hvFloat@doublePageCaptionRight#1{% image on left and right page with caption on the right page ----------------------------------
@@ -1046,9 +1084,9 @@
\setcounter{totalnumber}{0}%
\setcounter{dbltopnumber}{0}%
\def\dblfloatpagefraction{0.5}%
- \begin{\hv@floatType*}[!thb]
+ \begin{\hv@floatType*}[!t]
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
+ \clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
\ifx\hv@label\@empty
\else
\ifx\hv@floatType\hv@figure
@@ -1060,7 +1098,7 @@
\fi
\end{\hv@floatType*}%
\afterpage{%
- \begin{\hv@floatType*}[!thb]
+ \begin{\hv@floatType*}[!t]
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
\hspace*{\hv@tempWidthA}%
\noindent
@@ -1078,45 +1116,37 @@
\fi
\label{\hv@label-2}%
\fi
- \ifnum#1>0 % caption on the right
-% \medskip
- \ifnum\hv@@capAngle > 0
-% \ifdim\dp\hvObjectBox > \z@
-% \rotatebox[origin=c]{\hv@@capAngle}{\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[origin=c]{\hv@@capAngle}{\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\relax\hv@label\relax\else\label{\hv@label-cap}\fi
-% \fi
+ \ifx\hv@caption@format@temp\@empty\else
+ \expandafter\captionsetup\expandafter{\hv@caption@format@temp}%
+ \fi
+ \ifnum#1>\z@ % caption on the right
+ \ifnum\hv@@capAngle > \z@
+ \rotatebox[origin=c]{\hv@@capAngle}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \ifx\relax\hv@shortCap\relax
+ \caption{\hv@longCap}%
+ \else
+ \caption[\hv@shortCap]{\hv@longCap}%
+ \fi
+ }}%
+ \ifx\relax\hv@label\relax\else\label{\hv@label-cap}\fi
\else
\hspace{\marginparsep}%
\parbox[\hv@@capVPos]{\hv@tempWidthB}{%
+ \abovecaptionskip=0pt% local inside parbox
\vspace{0pt}%
\ifx\hv@shortCap\@empty
- \captionof{\hv@floatType}{\hv@longCap\ifx\hv@label\@empty\else\label{\hv@label-cap}\fi}%
+ \caption{\hv@longCap}%
\else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}
+ \caption[\hv@shortCap]{\hv@longCap}
\fi
}%
\ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
\fi
\else % #1 = 0 caption below
\ifx\relax\hv@shortCap\relax
- \captionof{\hv@floatType}{\hv@longCap}%
+ \caption{\hv@longCap}%
\else
- \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
+ \caption[\hv@shortCap]{\hv@longCap}%
\fi
\ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
\fi
@@ -1162,7 +1192,7 @@
\afterpage{\do@hvFloat@doublePAGECaptionRight{#1}}%
\fi
\fi
- \endgroup
+ \endgroup% startet at main macro
}
%
\def\do@hvFloat@doublePAGECaptionRight#1{% image on left and right page with caption on the right ----------------------------------
@@ -1226,7 +1256,7 @@
\global\setlength\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}%
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
\ifoddpage
\ifcase\hv@@capPos % =0 Caption before
\if@twocolumn
@@ -1326,8 +1356,8 @@
\def\set@Normal@Bottom@Caption@{%
\begin{\hv@floatType}[!b]
\ifhv@separatorLine\drawSepLine\fi
- \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1338,8 +1368,8 @@
\def\set@Normal@Bottom@CaptionStar*{%
\begin{\hv@floatType*}[!b]
\ifhv@separatorLine\drawSepLine\fi
- \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1416,8 +1446,8 @@
\newpage\if@twocolumn\null\newpage\fi
\begin{\hv@floatType}[!b]
\ifhv@separatorLine\drawSepLine\fi
- \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1457,8 +1487,8 @@
\begin{\hv@floatType*}[!b]
\hv@twoColumnCaptiontrue
\ifhv@separatorLine\drawSepLine\fi
- \expandafter\captionsetup\expandafter{\hv@caption@format}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1500,8 +1530,8 @@
% \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}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1511,7 +1541,7 @@
\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}{%
- \ifx\relax\hv@shortCap\relax
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1525,8 +1555,8 @@
\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}%
- \ifx\relax\hv@shortCap\relax
+% \expandafter\captionsetup\expandafter{\hv@caption@format}%
+ \ifx\hv@shortCap\@empty
\captionof{\hv@floatType}{\hv@longCap}%
\else
\captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap}%
@@ -1583,7 +1613,7 @@
\def\getMultiCaptionAndLabel{%
\global\sbox\hvCaptionBox{\minipage[b]{\linewidth}%
- \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+% \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\setlength\belowcaptionskip{5pt}%
\setlength\abovecaptionskip{0pt}%
\hv@cntb=\clist_count:N\l_clist_Type
@@ -1614,7 +1644,7 @@
\else
\minipage{\columnwidth}%
\fi
- \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+% \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifx\hvSet@objectPos\hv@Right\raggedleft\else
\ifx\hvSet@objectPos\hv@Left\raggedleft\else
\ifx\hvSet@objectPos\hv@Center\centering
@@ -1643,7 +1673,7 @@
\def\getMultiSubCaptionAndLabel{%
\global\sbox\hvCaptionBox{\minipage{\linewidth}%
- \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
+% \ifx\hv@caption@format\@empty\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\setlength\belowcaptionskip{5pt}%
\setlength\abovecaptionskip{0pt}%
\xdef\@captype{\clist_item:Nn\l_clist_Type{1}}% the same for all subfloats
@@ -1665,11 +1695,11 @@
\else
\minipage{\columnwidth}%
\fi
- \ifx\hv@subcaption@format\@empty\else
- \expandafter
- \captionsetup\expandafter[\expandafter s\expandafter u\expandafter b\expandafter]\expandafter
- {\hv@subcaption@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@objectPos\hv@Right\raggedleft\else
\ifx\hvSet@objectPos\hv@Left\raggedleft\else
\ifx\hvSet@objectPos\hv@Center\centering
@@ -1712,7 +1742,6 @@
\def\getSingleCaptionAndLabel{%
\global\sbox\hvCaptionBox{\minipage{\linewidth}%
- \ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\setlength\belowcaptionskip{5pt}%
\setlength\abovecaptionskip{0pt}%
\edef\@captype{\hv@floatType}%