summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hvfloat
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-13 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2021-03-13 03:01:14 +0000
commit2a899339df4bb55e3aa0d5b7a4975b1743341e17 (patch)
tree4d26b328e10b82678abc4bd31726e8b2548eed42 /macros/latex/contrib/hvfloat
parentcf09e33d4f54e872c7090def0ad41b06fb559cdb (diff)
CTAN sync 202103130301
Diffstat (limited to 'macros/latex/contrib/hvfloat')
-rw-r--r--macros/latex/contrib/hvfloat/Changes1
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin2967825 -> 22514815 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex300
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty216
4 files changed, 470 insertions, 47 deletions
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index 083cd05ceb..796f24877b 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,5 @@
hvfloat.sty:
+2.18 2021-03-12 - add support for doublepage objects
2.17 2020-10-31 - fix for label setting of non floating objects
2.16 2019-08-31 - fix for \hvFloat* and full page images
2.15 2019-05-13 - added optional arguments capFormat and subcapFormat
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 0928f3b187..adcbeecc69 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 5c330d4209..0896645980 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -42,6 +42,11 @@
\usepackage{multicol}
\usepackage{blindtext}
+\let\hvBlindtext\Blindtext
+\def\Blindtext{\par\color{black!40}\hvBlindtext\par\normalcolor}
+\makeatletter
+\def\hvblindtext{\textcolor{black!40}{\blindtext@text}}
+\makeatother
\usepackage{marginnote}
%\usepackage{imakeidx}
@@ -550,7 +555,7 @@ Code for figure \ref{fig:1}:
objectPos=c]{figure}{\includegraphics[scale=0.9]{images/rose}}%
[Caption beside object and vertically centered]%
{Caption vertically centered right beside the float with a natural caption width
- (the default). \blindtext}%
+ (the default). \hvblindtext}%
{fig:1}
@@ -589,7 +594,7 @@ placed vertically centered to the object. Important for the height of the object
orthogonal rectangle.
-\blindtext
+\hvblindtext
Code for figure \ref{fig:3}:
\begin{lstlisting}
@@ -642,7 +647,7 @@ Code for figure~\ref{fig:20}:
a caption on the right side for an even page and on the left side for
an odd page.}{fig:20}
-\blindtext
+\hvblindtext
\label{page:1}\checkoddpage
@@ -688,7 +693,7 @@ even \fi page, the reason why figure~\ref{fig:20b} has the caption for \emph{inn
and figure~\ref{fig:21} for \emph{outer} on the right side.
-\blindtext
+\hvblindtext
\label{page:2}
Code for figure \ref{fig:22}:
@@ -806,7 +811,7 @@ in a minipage, the reason why it will be local to the current image..
\hvFloat[%
capPos=right,
capFormat={labelsep=newline,justification=RaggedRight,font={small,it},labelfont=bf}
-]{figure}{\frame{\includegraphics{images/rose}}}{\blindtext}{fig:66}
+]{figure}{\frame{\includegraphics{images/rose}}}{\hvblindtext}{fig:66}
\section{Horizontal Position of the Float}
@@ -842,7 +847,7 @@ The code for figure \ref{fig:7}:
]{figure}{\includegraphics{images/rose}}{%
Caption at top right beside the float and object position left}{fig:7}
-\blindtext
+\hvblindtext
The same with \Lkeyset{capPos=left}:
@@ -858,7 +863,7 @@ The same with \Lkeyset{capPos=left}:
]{figure}{\includegraphics{images/rose}}{%
Caption at top right beside the float and object position left}{fig:700}
-\blindtext
+\hvblindtext
The code for figure \ref{fig:8}:
@@ -884,7 +889,7 @@ The code for figure \ref{fig:8}:
]{figure}{\includegraphics{images/rose}}{%
Caption at top left beside the float and object position right}{fig:8}
-\blindtext
+\hvblindtext
\section{Wide floats}
@@ -913,7 +918,7 @@ the option \texttt{wide}.}{fig:70}
Caption at top right beside the float and object position left and
the option \texttt{wide}.}{fig:70}
-%\blindtext
+%\hvblindtext
The code for figure \ref{fig:80}:
@@ -939,7 +944,7 @@ The code for figure \ref{fig:80}:
For a twosided document it will place the object always in the margin.
-\blindtext
+\hvblindtext
\begin{lstlisting}
\hvFloat[wide,
@@ -962,7 +967,7 @@ the option \texttt{wide}.}{fig:81}
Now we set the same image with the same setting on the next page. The caption will
change its side due to the setting \Lkeyset{capPos=outer}.
-\blindtext
+\hvblindtext
@@ -1074,10 +1079,10 @@ with the \Lkeyset{objectPos=l} parameter
objectPos=center,
]{figure}{\includegraphics[width=0.9\textheight]{images/CTAN}}%
[Object and Caption in landscape mode]{%
- Caption and object in landscape mode. \blindtext}{fig:9}
+ Caption and object in landscape mode. \hvblindtext}{fig:9}
-\blindtext
+\hvblindtext
The code for figure \ref{fig:10}:
@@ -1106,13 +1111,13 @@ The code for figure \ref{fig:10}:
]{figure}{\includegraphics[width=\textheight]{images/CTAN}}%
[Rotated Caption in Landscape]{%
Caption right beside the float and object position left. The caption rotated by $-90$ degrees.
- \blindtext}{fig:10}
+ \hvblindtext}{fig:10}
-\blindtext
+\hvblindtext
-\blindtext
+\hvblindtext
@@ -1186,7 +1191,7 @@ For example see table~\ref{table:1} and \ref{table:2}:
\end{tabular}%
}
-\blindtext
+\hvblindtext
%[xrightmargin=-8em,xleftmargin=-1em]
\begin{lstlisting}
@@ -1211,7 +1216,7 @@ The code for table \ref{table:1} and \ref{table:2} is:
capPos=top,
useOBox=true]{table}{}{Demonstration of the \texttt{useOBox} Parameter}{table:1}
-\blindtext
+\hvblindtext
\hvFloat[%
floatPos=hb,
@@ -1279,9 +1284,9 @@ The code for figure \ref{fig:text}:
a starting \texttt{Figure:} or \texttt{Table:}}{fig:text}
\bigskip
-%\blindtext
+%\hvblindtext
-%\blindtext
+%\hvblindtext
\section{Environment \texttt{hvFloatEnv}}\label{sec:env}
@@ -1332,9 +1337,9 @@ L & C & R \\\hline
\end{hvFloatEnv}
%\bigskip
-%\blindtext
+%\hvblindtext
-%\blindtext
+%\hvblindtext
\section{Full page objects in onecolumn mode}
@@ -2439,6 +2444,246 @@ should be true (see listing).
%\index{capPos@\texttt {capPos} (keyword)|)}
+\section{Doublepage objects -- images and/or tabulars}
+If an image or a tabular or any other object is too big for one page, it can be split over two pages (left -- right).
+It is obvious that this makes only sense for twoside documents.
+There are three optional arguments:
+
+\begin{description}
+\item[\Lkeyword{doublePage}] A splitted object with or without a caption on top of a double page, beginning in the left top text area.
+The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth-4\margin|. The caption can be rotated
+on the right side of the right object part or under the right part.
+
+
+\item[\Lkeyword{doublePAGE}] A splitted object with or without a caption on top of a double page, beginning at the left side
+of the paper area and top of the text area.
+The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth|. The caption can only be
+under the right part of the object. The will be \emph{no additional text} on the double page.
+
+\item[\Lkeyword{doubleFULLPAGE}] A splitted object with or without a caption on top of a double page, beginning at the
+left top paper edge and filling the complete double page.
+The user has to scale the image to be sure that the object will not be greater than \verb|2\paperwidth|. A caption will be
+rotated and written \emph{over} the object. The user has to take care for a correct text color.
+\end{description}
+
+\subsection{\Lkeyword{doubleFULLPAGE}}
+The scaling of the image is leave to the user. If the proportion of the object doesn't fit 2*paperwidth/paperheight,
+then there can be a white part on the right or bottom of the object. A pagenumber will not be printed. You'll
+find a marginnote where the following full doublepage image is defined. It appears on the the next following
+even page and following text will be placed \emph{before} the object.
+
+
+
+\begin{lstlisting}
+\Blindtext
+
+\hvFloat[doubleFULLPAGE,capPos=r,capAngle=90]%
+ {figure}%
+ {\includegraphics[angle=90,width=2\paperwidth]{images/raphi}}%
+ [Eine doppelseitige Abbildung mit Caption auf der Abbildung]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die ÜBER den rechten
+ Teil der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Papierrand. Auf den Seiten wird kein weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+
+\Blindtext
+\end{lstlisting}
+
+\Blindtext
+\marginnote{doubleFULLPAGE0}
+ \hvFloat[doubleFULLPAGE,capPos=r,capAngle=90]%
+ {figure}%
+ {\includegraphics[angle=90,width=2\paperwidth]{images/raphi}}%
+ [Eine doppelseitige Abbildung mit Caption auf der Abbildung]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die ÜBER den rechten
+ Teil der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Papierrand. Auf den Seiten wird kein weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doubleFULLPAGE}}%
+ {fig:doubleFULLPAGE0}
+
+\Blindtext
+
+\Blindtext
+
+\subsection{\Lkeyword{doublePAGE}}
+With this option the object also starts at the left paper margin but on the top of the text area.
+There will be pagenumbers and a caption can be rotated on the right of the object or under it.
+
+\begin{lstlisting}
+\Blindtext
+
+\hvFloat[doublePAGE]%
+ {figure}%
+ {\includegraphics[width=2\paperwidth]{images/felsen-wasser}}%
+ [Eine doppelseitige Abbildung mit Caption unterhalb der rechten Abbildung]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die unterhalb der rechten
+ Teils der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Papierrand. Auf den Seiten wird kein weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePAGE}}%
+ {fig:doublePAGE0}
+
+\Blindtext
+\end{lstlisting}
+
+\Blindtext
+
+\marginnote{doublePAGE0}
+\hvFloat[doublePAGE]%
+ {figure}%
+ {\includegraphics[width=2\paperwidth]{images/felsen-wasser}}%
+ [Eine doppelseitige Abbildung mit Caption unterhalb der rechten Abbildung]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die unterhalb der rechten
+ Teils der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Papierrand. Auf den Seiten wird kein weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePAGE}}%
+ {fig:doublePAGE0}
+
+\Blindtext
+
+
+\subsection{\Lkeyword{doublePage}}
+With this option the object also starts at the left top of the text area.
+There will be pagenumbers and a caption can be rotated on the right of the object or under it
+and the rest of the text area is filled with text.
+
+\begin{lstlisting}
+\Blindtext
+
+\hvFloat[doublePage,capWidth=n,capPos=r]%
+ {figure}%
+ {\includegraphics[width=2\textwidth]{images/felsen-wasser-small}}%
+ [Eine doppelseitige Abbildung mit rechtsseitiger Caption unterhalb]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die unterhalb des rechten
+ Teils der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Textrand. Auf den Seiten wird ansonsten weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePage}}%
+ {fig:doublePage0}
+
+\Blindtext
+\end{lstlisting}
+
+\Blindtext
+
+\marginnote{doublePage0}
+\hvFloat[doublePage,capWidth=n,capPos=r]%
+ {figure}%
+ {\includegraphics[width=2\textwidth]{images/felsen-wasser-small}}%
+ [Eine doppelseitige Abbildung mit rechtsseitiger Caption unterhalb]%
+ {Eine Beschriftung einer doppelseitigen Abbildung, die unterhalb des rechten
+ Teils der Abbildung platziert wird. Die Abbildung beginnt am linken
+ Textrand. Auf den Seiten wird ansonsten weiterer Text
+ platziert. Für das LOF wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePage}}%
+ {fig:doublePage0}
+
+\Blindtext
+
+
+
+\subsection{Tabulars}
+
+In General there is no difference in an imgage or tabular or simple text. The object will be saved in a box and
+then clipped. If the object is a tabular one might modify the tabular if it will be split in the middle of a
+column. In such a case one can insert some additional horizontal space for this coloumn.
+
+The tabular itself can be saved into the internal box \Lcs{hvOBox} or put directly as parameter into the
+macro.
+
+
+\begin{lstlisting}[basicstyle=\footnotesize\ttfamily]
+\global\savebox\hvOBox{%
+\begin{tabular}{l*{18}r} \toprule
+ & \textbf{1972} & \textbf{1973} & \textbf{1974} & \textbf{1975} & \textbf{1976}
+ & \textbf{1977} & \textbf{1978} & \textbf{1979} & \textbf{1980} & \textbf{1981} & \textbf{1982} & \textbf{1983} & \textbf{1984} & \textbf{1985}
+ & \textbf{1986} & \textbf{1987} & \textbf{1988} & \textbf{1989}
+ \\\midrule
+\addlinespace[3pt]
+Zeile 1 & 1 & 3 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 &20 & 0 & 2 & 2 & 2 & 1\\\addlinespace[3pt]
+Zeile 2 & 1 & 1 & 3 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 2 & 1 & 3 & 4 & 4 & 6 & 4 & 2\\\addlinespace[3pt]
+Zeile 3 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 5 & 3 & 1 & 7 & 7 & 3\\\addlinespace[3pt]
+Zeile 4 & 1 & 0 & 5 & 1 & 2 & 0 & 0 & 0 & 0 & 2 & 1 & 0 & 1 & 0 & 3 & 7 & 2 & 1\\\addlinespace[3pt]
+Zeile 6 & 2 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 2 & 0 & 5 & 2 & 2 & 5 & 4 & 2\\\addlinespace[3pt]
+Zeile 5 & 0 & 0 & 4 & 2 & 1 & 2 & 2 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 2 & 5 & 4 & 3\\\addlinespace[3pt]
+Zeile 8 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 3 & 2 & 1 & 2 & 1 & 3 & 5 & 3 & 4\\\addlinespace[3pt]
+Zeile 9 & 0 & 0 & 0 & 0 & 0 & 1 & 2 & 1 & 0 & 0 & 0 & 0 & 4 & 2 & 1 & 4 & 5 & 2\\\addlinespace[3pt]
+Zeile10 & 0 & 1 & 3 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 4 & 4 & 1\\\addlinespace[3pt]
+Zeile11 & 0 & 2 & 2 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 2 & 6 & 1 & 0 & 2 & 1 & 1 \\\addlinespace[3pt]
+Zeile12 & 2 & 0 & 2 & 4 & 1 & 0 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 3\\\addlinespace[3pt]
+Lärm & 2 & 3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 2 & 0 & 0 & 2 & 2 & 2\\\addlinespace[3pt]
+Zeile13 & 0 & 1 & 0 & 0 & 1 & 0 & 3 & 0 & 0 & 0 & 0 & 0 & 2 & 0 & 1 & 3 & 0 & 2\\\addlinespace[3pt]
+Zeile14 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 & 3 & 2 & 1 & 1 & 0\\\addlinespace[3pt]
+Zeile15 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 4 & 0 & 0 & 3 & 1 & 1\\\addlinespace[3pt]
+Zeile16 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 & 5 & 0 & 1\\\addlinespace[3pt]\midrule
+Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15 & 13 &1 \\
+\bottomrule
+\end{tabular}}
+
+\hvFloat[doublePage,capWidth=n,capPos=r]%
+ {table}%
+ {\usebox\hvOBox}%%%%%%%%%%%%%%
+ [Eine doppelseitige Tabelle mit rechtsseitiger Caption unterhalb]%
+ {Eine Beschriftung einer doppelseitigen Tabelle, die unterhalb des rechten
+ Teils der Abbildung platziert wird. Die Tabelle beginnt am linken
+ Textrand. Auf den Seiten wird ansonsten weiterer Text
+ platziert. Für das LOT wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePage}}%
+ {tab:doublePage3}
+
+\Blindtext
+\end{lstlisting}
+
+\Blindtext
+
+\marginpar{doublePage1}
+\global\savebox\hvOBox{%
+\begin{tabular}{l*{18}r} \toprule
+ & \textbf{1972} & \textbf{1973} & \textbf{1974} & \textbf{1975} & \textbf{1976}
+ & \textbf{1977} & \textbf{1978} & \textbf{1979} & \textbf{1980} & \textbf{1981} & \textbf{1982} & \textbf{1983} & \textbf{1984} & \textbf{1985}
+ & \textbf{1986} & \textbf{1987} & \textbf{1988} & \textbf{1989}
+ \\\midrule
+\addlinespace[3pt]
+Zeile 1 & 1 & 3 & 1 & 1 & 1 & 0 & 1 & 1 & 0 & 0 & 0 & 0 &20 & 0 & 2 & 2 & 2 & 1\\\addlinespace[3pt]
+Zeile 2 & 1 & 1 & 3 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 2 & 1 & 3 & 4 & 4 & 6 & 4 & 2\\\addlinespace[3pt]
+Zeile 3 & 2 & 1 & 2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 5 & 3 & 1 & 7 & 7 & 3\\\addlinespace[3pt]
+Zeile 4 & 1 & 0 & 5 & 1 & 2 & 0 & 0 & 0 & 0 & 2 & 1 & 0 & 1 & 0 & 3 & 7 & 2 & 1\\\addlinespace[3pt]
+Zeile 6 & 2 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 2 & 0 & 5 & 2 & 2 & 5 & 4 & 2\\\addlinespace[3pt]
+Zeile 5 & 0 & 0 & 4 & 2 & 1 & 2 & 2 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 2 & 5 & 4 & 3\\\addlinespace[3pt]
+Zeile 8 & 0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 3 & 2 & 1 & 2 & 1 & 3 & 5 & 3 & 4\\\addlinespace[3pt]
+Zeile 9 & 0 & 0 & 0 & 0 & 0 & 1 & 2 & 1 & 0 & 0 & 0 & 0 & 4 & 2 & 1 & 4 & 5 & 2\\\addlinespace[3pt]
+Zeile10 & 0 & 1 & 3 & 0 & 1 & 0 & 1 & 0 & 0 & 1 & 1 & 0 & 1 & 1 & 1 & 4 & 4 & 1\\\addlinespace[3pt]
+Zeile11 & 0 & 2 & 2 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 2 & 6 & 1 & 0 & 2 & 1 & 1 \\\addlinespace[3pt]
+Zeile12 & 2 & 0 & 2 & 4 & 1 & 0 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 3\\\addlinespace[3pt]
+Lärm & 2 & 3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 2 & 0 & 0 & 2 & 2 & 2\\\addlinespace[3pt]
+Zeile13 & 0 & 1 & 0 & 0 & 1 & 0 & 3 & 0 & 0 & 0 & 0 & 0 & 2 & 0 & 1 & 3 & 0 & 2\\\addlinespace[3pt]
+Zeile14 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 & 3 & 2 & 1 & 1 & 0\\\addlinespace[3pt]
+Zeile15 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 4 & 0 & 0 & 3 & 1 & 1\\\addlinespace[3pt]
+Zeile16 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 3 & 5 & 0 & 1\\\addlinespace[3pt]\midrule
+Artikel gesamt & 2 & 6 & 13 & 8 & 4 & 3 & 5 & 4 & 0 & 6 & 3 & 5 &23 &10 & 8 & 15 & 13 &1 \\
+\bottomrule
+\end{tabular}}
+
+\hvFloat[doublePage,capWidth=n,capPos=r]%
+ {table}%
+ {\usebox\hvOBox}%%%%%%%%%%%%%%
+ [Eine doppelseitige Tabelle mit rechtsseitiger Caption unterhalb]%
+ {Eine Beschriftung einer doppelseitigen Tabelle, die unterhalb des rechten
+ Teils der Abbildung platziert wird. Die Tabelle beginnt am linken
+ Textrand. Auf den Seiten wird ansonsten weiterer Text
+ platziert. Für das LOT wird dabei eine Kurzform berücksichtigt. Parameter
+ ist \texttt{doublePage}}%
+ {tab:doublePage3}
+
+\Blindtext
+
+\Blindtext
+
+
\section{References to the page}\label{varioref}
@@ -2513,6 +2758,8 @@ For example:
\texttt{0.5\textbackslash columnwidth}.}{fig:style}
\end{lstlisting}
+
+\setDefaults
\defhvstyle{RightCaption}{floatPos=htb, capWidth=0.5, capPos=after, capVPos=bottom, objectPos=center}
@@ -2521,6 +2768,9 @@ For example:
\texttt{0.5\textbackslash columnwidth}.}{fig:style}
+\hvblindtext
+
+
\section{Global float setting}
Instead of writing the following sequence into the preamble:
@@ -2540,11 +2790,9 @@ optional package options to set the global placement:
\usepackage[figure=tb,table=t]{hvfloat-fps}
\end{verbatim}
-\blindtext
-
-\blindtext
+\Blindtext
-%\setDefaults
+\setDefaults
\hvFloat[FULLPAGE]{figure}%
{\includegraphics[FULLPAGE]{tiger}}%
[A float which needs the complete paper width and height.]%
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index 622c1fba50..ff8fb42a4c 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 36 2020-10-31 08:22:30Z herbert $
+%% $Id: hvfloat.sty 41 2020-11-21 21:03:28Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -15,8 +15,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.17}
-\def\filedate{2020/10/31}
+\def\fileversion{2.18}
+\def\filedate{2021/03/12}
\message{`hvfloat' v\fileversion, \filedate\space (Herbert Voss)}
\ProvidesPackage{hvfloat}[\filedate\ rotating of floating objects]
\let\hvFloatFileVersion\fileversion
@@ -32,7 +32,7 @@
\RequirePackage{caption}
\PassOptionsToPackage{hypcap}{subcaption}
\RequirePackage{subcaption}
-\RequirePackage{atbegshi}
+\RequirePackage{atbegshi,picture,trimclip}
\RequirePackage{expl3,multido}
\RequirePackage{graphicx}
@@ -64,6 +64,8 @@
\newsavebox\hvOBox
\newsavebox\@tempbox
\newsavebox\hv@caption@box
+\newsavebox\hv@leftBox
+\newsavebox\hv@rightBox
\newif\ifhv@capbeside \hv@capbesidefalse
@@ -133,13 +135,15 @@
\newif\ifhv@fullpage
\newif\ifhv@FULLPAGE
-
-%\define@boolkey{hvSet}[hv@]{fullpage}[true]{}% fullpage float with caption on other page
-%\define@boolkey{hvSet}[hv@]{FullPage}[true]{}% fullpage float with caption on other page
-%\define@boolkey{hvSet}[hv@]{FULLPAGE}[true]{}% fullpage float with caption on other page
+\newif\ifhv@doubleFULLPAGE
+\newif\ifhv@doublePAGE
+\newif\ifhv@doublePage
\define@key{hvSet}{fullpage}[true]{\global\@nameuse{hv@fullpage#1}}% wegen \afterpage problem
\define@key{hvSet}{FULLPAGE}[true]{\global\@nameuse{hv@FULLPAGE#1}}
+\define@key{hvSet}{doubleFULLPAGE}[true]{\global\@nameuse{hv@doubleFULLPAGE#1}\hv@doublePagefalse\hv@doublePAGEfalse}
+\define@key{hvSet}{doublePAGE}[true]{\global\@nameuse{hv@doublePAGE#1}\hv@doublePagefalse\hv@doubleFULLPAGEfalse}
+\define@key{hvSet}{doublePage}[true]{\global\@nameuse{hv@doublePage#1}\hv@doublePAGEfalse\hv@doubleFULLPAGEfalse}
\define@boolkey{hvSet}[hv@]{subFloat}[true]{% typeset values as subfloats
\ifhv@subFloat\setkeys{hvSet}{multiFloat=false}\fi%
@@ -168,7 +172,8 @@
floatPos=htbp, rotAngle=0, capWidth=n, capAngle=0,
capPos=bottom, capVPos=center, objectPos=center, objectAngle=0,
floatCapSep=5pt, useOBox=false, nonFloat=false,
- onlyText=false, wide=false, fullpage=false, FULLPAGE=false,
+ onlyText=false, wide=false, fullpage=false, FULLPAGE=false,
+ doubleFULLPAGE=false, doublePage=false, doublePAGE=false,
multiFloat=false,subFloat=false,
separatorLine,objectFrame=false,multiFloatSkip=\normalbaselineskip,
capFormat={}, subcapFormat={},
@@ -232,8 +237,6 @@
\Gin@boolkey{false}{iso}%
}
\newcommand\IncludeGraphics[2][]{%
-% \newpage
-%\iffalse
\vspace*{\the\dimexpr-1in-\voffset+\topskip-\headheight-0.5\baselineskip}%
\leavevmode\checkoddpage
\ifoddpage
@@ -242,9 +245,6 @@
\hspace*{\dimexpr-\evensidemargin-\parindent-1in}%
\fi\noindent
\includegraphics[#1,width=\paperwidth,height=\paperheight,keepaspectratio=false]{#2}%
-%\fi
-% \includepdf[#1]%,width=\paperwidth,height=\paperheight,keepaspectratio=false]
-% {#2}%
}
\newcommand\put@CaptionBox[1][0]{%
@@ -305,12 +305,10 @@
% #6: label
%
\def\hvFloat@i*{\@ifnextchar[{\do@hvFloat}{\do@hvFloat[]}}
-
\def\do@hvFloat[#1]{%
\begingroup
\setlength\hvWideWidth{\dimexpr\linewidth+\marginparwidth}%
\hv@maxImageWidth=\textwidth
-% \hv@capbesidefalse
\reset@special@float
\setcounter{hv@pfigure}{\value{figure}}%
\setcounter{hv@ptable}{\value{table}}%
@@ -382,7 +380,6 @@
\def\hvFloat@ii[#1]#2#3{%
\hv@maxImageWidth=\textwidth
-% \hv@capbesidefalse
\ifx\relax#1\relax\else\setkeys{hvSet}{#1}\fi
\gdef\hv@floatType{#2}%
\ifx\relax#2\relax \setkeys{hvSet}{nonFloat=true}\fi
@@ -393,6 +390,7 @@
\gdef\hv@shortCap{#1}%
\gdef\hv@longCap{#2}%
\gdef\hv@label{#3}%
+ \ifhv@capbeside\def\@@temp{1}\else\def\@@temp{0}\fi
\ifhv@fullpage
\def\hvSet@CapWidth{n}% relative value
\do@@@@hvFloat% fullpage with caption on other page
@@ -401,9 +399,23 @@
\def\hvSet@CapWidth{n}% relative value
\do@@@@hvFloat% fullpage with caption on other page
\else
- \do@@@hvFloat
+ \ifhv@doubleFULLPAGE
+ \setlength\hvCapWidth{\textheight}
+ \do@hvFloat@doubleFULLPAGE% fullpage with caption rotated or under on an odd page
+ \else
+ \ifhv@doublePAGE
+ \expandafter\do@hvFloat@doublePAGE\@@temp% fullpage with caption rotated or under on an odd page
+ \else
+ \ifhv@doublePage
+ \expandafter\do@hvFloat@doublePage\@@temp% fullpage with caption rotated or under on an odd page
+ \else
+ \do@@@hvFloat
+ \fi
+ \fi
+ \fi
\fi
\fi
+% \global\hv@capbesidefalse
}
%
\def\do@@@hvFloat{% no special float page
@@ -473,7 +485,7 @@
\fi
\saveCaptionSkip % we put this space ourselve
\ifx\hvSet@capAngle\hv@Zero % need rotation?
- \sbox\hvCaptionBox{% NO rotation
+ \savebox\hvCaptionBox{% NO rotation
\begin{minipage}[b]{\hvCapWidth}% minipage, to get hyphenation
\ifx\relax\hv@caption@format\relax\else\expandafter\captionsetup\expandafter{\hv@caption@format}\fi
\ifhv@nonFloat
@@ -505,7 +517,7 @@
\end{minipage}%
}%
\else
- \sbox\hvCaptionBox{% Rotation
+ \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
@@ -845,8 +857,170 @@
\fi
\fi
\endgroup% startet at main \hvFloat
-}%
+}
+%
+%
+\def\do@hvFloat@doublePage#1{% image on left and right page with caption on the right ----------------------------------
+ \checkoddpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \ifoddpage
+ \afterpage{%
+ \noindent
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \global\@tempdima=\dimexpr\paperwidth-1in-\evensidemargin\relax
+ \clipbox*{0 -\depth{} \@tempdima{} \height}{\usebox\hvObjectBox}%
+ \par\bigskip
+ \afterpage{%
+ \newpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hspace*{\dimexpr-1in-\oddsidemargin-\parindent}%
+ \clipbox*{\@tempdima{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \ifnum#1>0
+ \medskip
+ \ifdim\dp\hvObjectBox > \z@
+ \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \else
+ \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \fi
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \fi
+ }%
+ }%
+ \else
+ \afterpage{%
+ \afterpage{%
+% \newpage
+ \noindent\null
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \global\@tempdima=\dimexpr\paperwidth-1in-\evensidemargin\relax{}
+ \hspace*{\@tempdima}%
+ \clipbox*{0 -\depth{} \@tempdima{} \height}{\usebox\hvObjectBox}%
+ \par\bigskip
+ \afterpage{%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \noindent
+ \hspace*{\dimexpr-1in-\marginparwidth}%
+ \clipbox*{\@tempdima{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \ifnum#1>0
+ \medskip
+ \ifdim\dp\hvObjectBox > \z@
+ \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \else
+ \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \fi
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \fi
+ }}}%
+ \fi
+ \endgroup
+}
+
+\def\do@hvFloat@doublePAGE#1{% image on left and right page with caption on the right ----------------------------------
+ \checkoddpage
+ \ifoddpage
+ \afterpage{%
+ \newpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \clipbox*{0 -\depth{} \paperwidth{} \height}{\usebox\hvObjectBox}%
+ \newpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \clipbox*{\paperwidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \ifnum#1>0
+ \medskip
+ \ifdim\dp\hvObjectBox > \z@
+ \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \else
+ \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \fi
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \fi
+ \newpage
+ }%
+ \else
+ \afterpage{%
+ \AddToHookNext{shipout/before}{%
+% \newpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hspace*{\dimexpr-\evensidemargin-1in-\parindent}%
+ \clipbox*{0 -\depth{} \paperwidth{} \height}{\usebox\hvObjectBox}%
+ \newpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hspace*{\the\dimexpr-1in-\oddsidemargin-\parindent\relax}%
+ \clipbox*{\paperwidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}%
+ \ifnum#1>0
+ \medskip
+ \ifdim\dp\hvObjectBox > \z@
+ \rotatebox[origin=c]{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \else
+ \rotatebox{90}{\parbox{\the\dimexpr\ht\hvObjectBox+\dp\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \fi
+ \else
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}%
+ \fi
+ \newpage
+ }}%
+ \fi
+ \endgroup
+}
%
+\def\do@hvFloat@doubleFULLPAGE{% image on left and right page with caption on the right ----------------------------------
+ \checkoddpage
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \ifoddpage
+ \afterpage{%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep+0.5\paperheight-0.5\ht\hvObjectBox-\normalbaselineskip}%
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \thispagestyle{empty}%
+ \clipbox*{0 0 \paperwidth{} \height}{\usebox\hvObjectBox}%
+ \newpage
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-0.5\paperheight+0.5\ht\hvObjectBox-\normalbaselineskip}%
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \clipbox*{\paperwidth{} 0 \wd\hvObjectBox{} \paperheight{}}{\usebox\hvObjectBox}%
+ \savebox\hvCaptionBox{\parbox{0.9\ht\hvObjectBox}{%
+ \captionof*{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \put(-\ht\hvCaptionBox,0.5\ht\hvObjectBox){\makebox(0,0){\rotatebox{90}{\parbox{0.9\ht\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}}}
+ \newpage
+ }%
+ \else
+ \afterpage{%
+ \AddToHookNext{shipout/before}{%
+ \global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-0.75\paperheight+0.75\ht\hvObjectBox}%
+ \hspace*{\the\dimexpr-\evensidemargin-\parindent-1in}%
+ \thispagestyle{empty}%
+ \clipbox*{0 0 \paperwidth{} \paperheight}{\usebox\hvObjectBox}%
+ \newpage
+ \thispagestyle{empty}%
+ \vspace*{\the\dimexpr-1in-\voffset-\topmargin-\headheight-\headsep-0.5\paperheight+0.5\ht\hvObjectBox-\normalbaselineskip}%
+ \hspace*{\the\dimexpr-\oddsidemargin-\parindent-1in}%
+ \clipbox*{\paperwidth{} 0 \wd\hvObjectBox{} \paperheight{}}{\usebox\hvObjectBox}%
+ \savebox\hvCaptionBox{\parbox{0.9\ht\hvObjectBox}{%
+ \captionof*{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}%
+ \put(-\ht\hvCaptionBox,0.5\ht\hvObjectBox){\makebox(0,0){\rotatebox{90}{\parbox{0.9\ht\hvObjectBox}{%
+ \captionof{\hv@floatType}[\hv@shortCap]{\hv@longCap\expandafter\label\expandafter{\hv@label}}}}}}
+ \newpage
+ }%
+ }%
+ \fi
+ \endgroup
+}
+
\def\setBottomCaption{%
\begin{\hv@floatType}[!b]
\ifhv@separatorLine\drawSepLine\fi