我想要以下政策:
- 页面顶部
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}
在环境的最后一个参数中)。但是,这什么也不做(IE将其顶部保持smallbox
在文本高度的 15%)或将其移动得太远(即小框位于页面顶部)。
梅威瑟:
\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}}