为什么我的小页面之后、文本之前没有空格?

为什么我的小页面之后、文本之前没有空格?

考虑以下文档。

\documentclass[12pt,a4paper]{article}
\usepackage{lipsum}
\pagestyle{empty}
\begin{document}
\begin{minipage}[t]{\textwidth}
  \lipsum[1]
\end{minipage}
\medskip
{\large\scshape\bfseries\itshape Lorem Ipsum}
\medskip
\hrule
\medskip
\lipsum[2]
\end{document}

当我使用 pdflatex 编译它时,它会产生以下输出。

利普萨姆

为什么我的小页面之后、文本之前没有空格?我\medskip在它们之间放了一个。

\end{minipage}
\medskip
{\large\scshape\bfseries\itshape Lorem Ipsum}
\medskip

看起来\medskip前后文本被合并为一个了。我该如何修复这个问题?

答案1

Aminipage没有特殊的间距规则,它只是充当一个大字母,因此仅使用字母就更容易看出\medskip(或\vspace) 的工作原理:

在此处输入图片描述

\documentclass{article}

\begin{document}

\bigskip\hrule\bigskip

111 a b\\ c


\bigskip\hrule\bigskip

222 a \medskip b\\ c

\bigskip\hrule\bigskip

333 a 

\medskip 
b\\ c

\bigskip\hrule\bigskip


\end{document}

如果在段落中间添加垂直空格命令,则它会被保存在一个特殊位置(节点\vadjust),直到段落被分成几行,然后额外的空格会插入到包含原始节点的行之后。因此,在这种情况下,即使位于和之间222,额外的空格也会出现在 之后。b\medskipab

如果在任何垂直间距命令前放置一个空行,那么几乎总是更容易理解,这样垂直间距命令就会以垂直模式显示,而不是段落中间,在这种情况下,它会立即起作用并在该点添加间距,如 333 中,其中间距位于a和 之间b

答案2

除了缺少段落之外:您还应该知道,带有 [t] 对齐的迷你页面就像一个带有相当大的下行部分(深度很大)的字母。这意味着以下行会以固定距离(默认为 1pt)粘在底部。如果您想要行之间的正常距离,您应该在迷你页面中使用 \strut 结束文本:

\documentclass[12pt,a4paper]{article}
\pagestyle{empty} 
\begin{document}
X\begin{minipage}[t]{3cm}
 t\\t\\t\\
  aaaaaaaaaaa
\end{minipage}

xxxxxxx

\bigskip
X\begin{minipage}[t]{3cm}
  t\\t\\t\\
  yyyyyyyyyyyy
\end{minipage}

xxxxxxx

\bigskip
X\begin{minipage}[t]{3cm}
 t\\t\\t\\
  aaaaaaaaaaa\strut
\end{minipage}

xxxxxxx

\bigskip
X\begin{minipage}[t]{3cm}
 t\\t\\t\\
  yyyyyyyyyyyy\strut
\end{minipage}

xxxxxxx
\end{document}

在此处输入图片描述

相关内容