围绕居中文本填充页面的标题框

围绕居中文本填充页面的标题框

我正在尝试创建一个页面长度框,围绕一个居中的文本,并在其下方添加标题。中心文本是一行公式。该框应填充除底部之外的所有可用空间,底部对齐的标题限制了它。我已经搜索了类似提到的答案这里这里,但作为初学者,未能将其融入解决方案(问题是所引用的答案不涉及中心对齐和字幕)。如何获得如下所示的布局?

%Some code that generates a malformed output
\documentclass{scrartcl}
\usepackage{capt-of}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{lipsum}


\begin{document}
% dummy text

\par\noindent
\tikz[overlay,remember picture]\coordinate (image-start);
\par
\hfill
\vfill
$1+2=3$
\vfill
\null\hfill
\tikz [overlay,remember picture] \draw (0,0) rectangle ([yshift=\ht\strutbox-\fboxsep]image-start);
\hfill Caption\hfill \null
\newpage
\end{document}

答案1

我从这里给出的解决方案开始:https://tex.stackexchange.com/a/12128\par.如果你想省略前面的空行,则第一个是必需的\frameeq

平均能量损失

\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{lipsum}

\newcommand{\frameeq}[2]{%
 \par\noindent\tikz[overlay,remember picture]\coordinate (image-start);
   \vfill
    \null\hfill 
     \tikz [overlay,remember picture] 
      \draw (0,0) rectangle ([yshift=\ht\strutbox-\fboxsep]image-start) node[midway] {#2};
   \vspace{1ex}
   
   {\centering #1\par}
 }

\begin{document}
 
\lipsum[1]
 
 \frameeq{Caption here}{$2+2=5$}
 
\clearpage
 
\lipsum[1-3]
 \frameeq{Caption here}{$2+2=5$}
 
\end{document}

输出

在此处输入图片描述

答案2

这里的主要变化是使用\makebox居中文本。

\documentclass{scrartcl}
\usepackage{capt-of}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{lipsum}

\begin{document}
% dummy text
\par\noindent
\tikz[overlay,remember picture]{\coordinate (image-start);}
\par
\vfill
\noindent\makebox[\linewidth]{$1+2=3$}\par
\vfill
\null\hfill
\tikz [overlay,remember picture]{\draw (0,0) rectangle ([yshift=\ht\strutbox-\fboxsep]image-start);}
\par\noindent
\makebox[\linewidth]{Caption}
\newpage
\end{document}

\end{document}

相关内容