使用不同字体大小时垂直间距不一致

使用不同字体大小时垂直间距不一致

我试图在三行之间创建统一的间距,其中中间的字体大小不同。但是,当我按如下方式尝试时,中间行上方的间距与下方的间距不同。

\documentclass{article}
\begin{document}
One

\vspace{\baselineskip}
{\Huge Two\par}

\vspace{\baselineskip}
Three
\end{document}

生成的 PDF 如下所示:

LaTeX 生成的 PDF 的屏幕截图

我已经尝试过\parboxes 和\minipages,但到目前为止还无法创建统一的间距。

有人能解释为什么上述代码生成的垂直间距不同以及如何实现均匀间距吗?

答案1

甚至定义“均匀间距”都很困难,但这是一种可能性。

\documentclass{article}
\usepackage{lipsum}

\begin{document}

\lipsum*[1][1-4]\par
\prevdepth=\maxdimen
\medskip

{\Large \lipsum*[2][1-3]\par}
\prevdepth=\maxdimen
\medskip

\lipsum[3][1-4]

\end{document}

声明\prevdepth=\maxdimen将使 TeX 使用\lineskip两行之间的(默认值 1pt)并且我们可以添加我们喜欢的任何垂直空间。

在此处输入图片描述

答案2

虽然我建议\par在 中{\Huge Two\par}为 One 和 Two 之间的行设置\Huge行距,并主张删除\par,但 OP 回复说,如果“Two”内容超出了行宽,那么它将不会在段落内设置适当的间距。

\par如果“Two”内容超过一行,则删除的另一种方法是将其单独设置为\Huge在其自己的内\parbox,如下所示。

\documentclass{article}
\begin{document}
One

\vspace{\baselineskip}
\noindent\parbox[t]{\textwidth}{\Huge Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g)
 Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g) Two(g)}

\vspace{\baselineskip}
Three
\end{document}

在此处输入图片描述

答案3

\Huge您看到了和之间的区别,\normalsize \baselinskip因此最简单的方法是添加一个并删除另一个。

添加点以显示间距

在此处输入图片描述

\documentclass{article}
\begin{document}
One\dotfill

\vspace{2\baselineskip}
{\Huge\vspace{-\baselineskip} Two{\normalsize\dotfill}\par}

\vspace{\baselineskip}
Three\dotfill
\end{document}

相关内容