哪个长度仍能形成两个盒子之间的距离

哪个长度仍能形成两个盒子之间的距离

我尝试将 2 个盒子叠放在一起。我想定义下部盒子的高度以及盒子之间的潜在间隙,而上部盒子应使用剩余空间。

正如您在 reprex 中看到的,两者之间仍然有一条细小的线(我无法判断蓝色框是否确实跨越了整个空间)。反复试验告诉我,这条线大约很1pt宽。

我的方法是:

  1. 按如下方式确定顶箱的高度:
    1. 使用全文高度
    2. 减去下方盒子的高度和预期的间隙(这里0pt是为了突出问题)
    3. 最终减去 4 次fboxsep以解释两个框中的框和文本之间的额外距离。
  2. 创建一个间隙通孔vspace(再次强调,此处的间隙为0pt
  3. 放置具有给定高度的下部盒子。

我很想知道LaTeX要增加多少长度才能vspace相应地调整我的命令。预期结果是下部框位于边缘,并计算上部框的高度,即所有可用空间减去间隙和下部框高度。

代表

\documentclass{article}
\usepackage{xcolor}
\usepackage[a4paper,margin=0pt]{geometry}
\newlength{\mytopboxheight}
\newlength{\mybottomboxheight}
\newlength{\myskip}
\newlength{\myboxwidth}
\setlength{\mybottomboxheight}{40pt}
\setlength{\myskip}{0pt}
\setlength{\mytopboxheight}{\dimexpr\textheight-\mybottomboxheight-4\fboxsep-\myskip\relax}
\setlength{\myboxwidth}{\dimexpr\textwidth-2\fboxsep\relax}
\begin{document}
\noindent%
\colorbox{orange}{%
  \makebox(\myboxwidth,\mytopboxheight){%
    \the\fboxsep%
  }%
}%
\vspace{\myskip}%
\par\noindent%
\colorbox{blue}{%
  \makebox(\myboxwidth,\mybottomboxheight){%
    A%
  }%
}%
\end{document}

在此处输入图片描述

答案1

这正在\lineskip发挥作用。

\documentclass{article}
\usepackage{xcolor}
\usepackage[a4paper,margin=0pt]{geometry}
\newlength{\mytopboxheight}
\newlength{\mybottomboxheight}
\newlength{\myskip}
\newlength{\myboxwidth}
\setlength{\mybottomboxheight}{40pt}
\setlength{\myskip}{0pt}
\setlength{\mytopboxheight}{\dimexpr\textheight-\mybottomboxheight-4\fboxsep-\myskip\relax}
\setlength{\myboxwidth}{\dimexpr\textwidth-2\fboxsep\relax}
\begin{document}

\noindent
\colorbox{orange}{%
  \makebox(\myboxwidth,\mytopboxheight){%
    \the\fboxsep%
  }%
}

\nointerlineskip

\noindent
\colorbox{blue}{%
  \makebox(\myboxwidth,\mybottomboxheight){%
    A%
  }%
}
\end{document}

在此处输入图片描述

答案2

添加\offinterlineskip到文档前言中以摆脱它。

相关内容