将阴影框与页面底部对齐

将阴影框与页面底部对齐

我有一个页面,顶部有一个表格,底部有一个阴影框。如何让阴影框与页面框架的底部对齐?我试过了\vfill,但似乎不起作用。我的代码如下:

\documentclass[10pt]{book}
\usepackage[showframe]{geometry}
\usepackage{framed}
\usepackage{blindtext}
\usepackage{tabularx}
\usepackage[x11names,table]{xcolor}
\colorlet{shadecolor}{LavenderBlush2}
\begin{document}
\begin{table}[t!]
\caption{Hello World!}
\begin{tabularx}{\columnwidth}{|c|X|c|}\hline
    A & B & C \\\hline
    D & E & F \\\hline
    G & H & I \\\hline
    J & K & L \\\hline
    M & N & O \\\hline
    P & Q & R \\\hline
    S & T & U \\\hline
    V & W & X \\\hline
    Y & Z &   \\\hline
\end{tabularx}
\end{table}
\par
\vfill
\begin{shaded*}
\noindent\blindtext\par
\blindtext\par
\blindtext
\end{shaded*}
\end{document}

当前产生以下输出: 在此处输入图片描述

编辑: 有人建议我改用\vspace*{\fill}。这确实降低了框的高度,但它仍然与页面框架不太对齐。 在此处输入图片描述

答案1

\vspace{\fill} 和 \vfill 之间的区别

  • \vspace{\fill}在段落中将在其最终出现的行下方添加填充垂直空间;

  • \vfill在该位置结束段落并添加填充垂直空间。

您可以使用\vspace{\fill}\ \vfill。后者以 (空) 空格开始一个段落。

A

设置\OuterFrameSep= 0pt 以删除框架环境前后的垂直空间。默认为\topsep

\documentclass[10pt]{book}
\usepackage[showframe]{geometry}
\usepackage{framed}
\usepackage{blindtext}
\usepackage{tabularx}
\usepackage[x11names,table]{xcolor}
\colorlet{shadecolor}{LavenderBlush2}
\begin{document}
    \begin{table}[t!]
        \caption{Hello World!}
        \begin{tabularx}{\columnwidth}{|c|X|c|}\hline
            A & B & C \\\hline
            D & E & F \\\hline
            G & H & I \\\hline
            J & K & L \\\hline
            M & N & O \\\hline
            P & Q & R \\\hline
            S & T & U \\\hline
            V & W & X \\\hline
            Y & Z &   \\\hline
        \end{tabularx}
    \end{table}
%% \ \vfill
\vspace*{\fill}% added <<<<<<<<<<<
\setlength{\OuterFrameSep}{0pt}% added <<<<<<<<<<<
    \begin{shaded*}
        \noindent\blindtext\par
        \blindtext\par
        \blindtext
    \end{shaded*}
\end{document}

相关内容