![Framebox 和 minipage 导致空白且不浮动](https://linux22.com/image/237452/Framebox%20%E5%92%8C%20minipage%20%E5%AF%BC%E8%87%B4%E7%A9%BA%E7%99%BD%E4%B8%94%E4%B8%8D%E6%B5%AE%E5%8A%A8.png)
我有一个 \framebox(我不坚持使用此命令)和一个导致空白的 minipage,因为绘制的框不允许在前面或后面有任何文本,并且它本身不会跨页。代码如下所示:
\framebox{%
\begin{minipage}{\textwidth}
\begin{center}
Title Goes Here
\end{center}
Contents go here
\end{minipage}
}
我使用的命令正确吗?如果正确,我该如何将其分页?或者如果无法将其分页,我必须为其添加标签和标题(就像表格或图形一样)并将其与文本内联,以便我可以在文章中引用它,但我也不知道这一点。
答案1
您还可以尝试使用memoir
手册中framed
带有标题的环境代码。它可以跨页显示并提供连续标题。也可以使用\ref
\documentclass{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{framed}
\makeatletter
\newcommand\framename{Frame}
\newcounter{framecnt}
\setcounter{framecnt}{0}
\newcommand{\TitleFrame}[2]{%
\fboxrule=\FrameRule
\fboxsep=\FrameSep
\vbox{\nobreak \vskip -0.7\FrameSep
\rlap{\strut#1}\nobreak\nointerlineskip% left justified
\vskip 0.7\FrameSep
\noindent\fbox{#2}}}
\newenvironment{titledframe}[2][\FrameFirst@Lab\ (cont.)]{%
\refstepcounter{framecnt}%
\def\FrameFirst@Lab{\textbf{\framename\ \theframecnt:\ #2}}%
\def\FrameCont@Lab{\textbf{#1}}%
\def\FrameCommand##1{%
\TitleFrame{\FrameFirst@Lab}{##1}}%
\def\FirstFrameCommand##1{%
\TitleFrame{\FrameFirst@Lab}{##1}}%
\def\MidFrameCommand##1{%
\TitleFrame{\FrameCont@Lab}{##1}}%
\def\LastFrameCommand##1{%
\TitleFrame{\FrameCont@Lab}{##1}}%
\MakeFramed{\hsize\textwidth
\advance\hsize -2\FrameRule
\advance\hsize -2\FrameSep
\FrameRestore}}%
{\endMakeFramed}
\makeatother
\begin{document}
\begin{titledframe}{A titled frame}\label{frm:A}
\blindtext[6]
\end{titledframe}
\begin{titledframe}{A New frame}\label{frm:B}
\blindtext[1]
\end{titledframe}
In frames~\ref{frm:A} and \ref{frm:B}
\end{document}