负数 \vspace* 太小

负数 \vspace* 太小
\documentclass{article}

\usepackage[showframe, nohead]{geometry}

\begin{document}
    \vspace*{-3em}
    \rule{3em}{3em}
\end{document}

为什么规则会突出到文本区域?

输出

作为比较,没有 的话它看起来是这样的\vspace

无垂直空间

这正是我所期望的:

预期的

答案1

您必须考虑\topskip\lineskip

\documentclass{article}

\usepackage[showframe, nohead]{geometry}

\begin{document}

\vspace*{\dimexpr-3em-\topskip-\lineskip}
\rule{3em}{3em}

\end{document}

在此处输入图片描述

相关内容