
다음과 같은 정책을 원합니다.
- 상단
figure
및table
페이지 플로트는 페이지 아래로 15% 있어야 합니다(이상적으로는 수치가 텍스트 높이의 85%를 초과하는 경우 더 높게 이동할 수 있음). - 사용자 정의 환경(
smallbox
)은 수직 중앙에 위치해야 합니다.
기본적으로 (기본값이 적용되어야 하는 경우 ) 제외로 @fptop
설정 하고 싶습니다 .0.15\textheight minus 0.15\textheight
mybox
@fptop
내 초기 솔루션은 다음을 설정하는 것이었습니다.
\setlength{\@fptop}{0.15\textheight minus 0.15\textheight}
\setlength{\@fpbot}{0pt plus 1fil}
그런 다음 다음 환경을 사용합니다.
\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}}
\vspace*{\fill}
환경의 마지막 인수 와 같이 큰 공간을 추가합니다 . 그러나 이는 아무 작업도 수행하지 않습니다(즉상단을 smallbox
텍스트 높이의 15%로 유지하거나 너무 멀리 이동합니다(즉, 작은 상자가 페이지 상단에 있음).
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}
답변1
나는 minipage
게시 후 몇 시간 후에 를 사용하는 것이 작동하는 것으로 나타났습니다.
\newenvironment{smallbox}[1][p]{%
\begin{boxe}[#1]
\begin{minipage}[c][\textheight]{\linewidth}
}{\end{minipage}\end{boxe}}