
Ich wünsche mir folgende Regelung:
- Die Ober-
figure
undtable
Seitenränder sollten 15 % der Seite nach unten zeigen (und idealerweise höher verschoben werden können, wenn die Abbildung mehr als 85 % der Texthöhe einnimmt). - Eine benutzerdefinierte Umgebung (
smallbox
) sollte vertikal zentriert sein
Im Wesentlichen möchte ich es @fptop
auf 0.15\textheight minus 0.15\textheight
„Ausnahme für den mybox
Fall“ setzen (wo die Standardeinstellung @fptop
gelten soll).
Meine erste Lösung bestand darin, Folgendes festzulegen:
\setlength{\@fptop}{0.15\textheight minus 0.15\textheight}
\setlength{\@fpbot}{0pt plus 1fil}
und dann mit der folgenden Umgebung:
\usepackage{newfloat} %%
\DeclareFloatingEnvironment[listname={List of boxes}, name = {Box}]{boxe}
% The smallbox is a box intended for onecolumn.
\newenvironment{smallbox}[3][p]{%
\begin{boxe}[#1]
}{\end{boxe}}
Hinzufügen eines großen Leerzeichens (wie \vspace*{\fill}
im letzten Argument der Umgebung). Dies bewirkt jedoch nichts (dhbehält die Oberkante smallbox
bei 15 % der Texthöhe bei) oder verschiebt sie zu weit (d. h. das kleine Kästchen befindet sich oben auf der Seite).
MWE:
\documentclass[12pt,twocolumn]{article} %% twocolumn makes fptop more obvious
\makeatletter
\setlength{\@fptop}{0.15\textheight minus 0.15\textheight}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother
\usepackage{newfloat}
\DeclareFloatingEnvironment[listname={List of boxes}, name = {Box}]{boxe}
\newenvironment{smallbox}[1][p]{%
\begin{boxe}[#1]
}{\end{boxe}}
\usepackage[showframe]{geometry}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\begin{document}
.
\begin{figure}[p]
\caption{foo}
\includegraphics{}
\end{figure}
\clearpage
.
\begin{smallbox}
\lipsum[1]
\end{smallbox}
\end{document}
Antwort1
Ich habe festgestellt, dass die Verwendung von minipage
einige Stunden nach dem Posten zu funktionieren scheint.
\newenvironment{smallbox}[1][p]{%
\begin{boxe}[#1]
\begin{minipage}[c][\textheight]{\linewidth}
}{\end{minipage}\end{boxe}}