理解文本中的垂直间距,正确的方法是什么?

理解文本中的垂直间距,正确的方法是什么?

抱歉,这个问题比较菜鸟,我有下面的 MWE 示例,其中我只想更改两个文本块之间的垂直间距,但我似乎不明白这是如何工作的,或者最好的方法是什么,因为结果与预期相差甚远。

这是 MWE:

\documentclass{article}
\usepackage{lipsum}

\setlength{\parindent}{0pt}% No paragraph indentation
\setlength{\parskip}{.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip}

%%Page geometry
\usepackage[left=1cm,top=2cm,right=1cm,bottom=2cm]{geometry}


\begin{document}
    Some text here \lipsum[2], and after that I want to introduce some vertical space at the end of the paragraph.\\
    \medskip
    After the vertical space, I want to introduce more text \lipsum[10]

    \begin{itemize}
    \setlength\itemsep{1pt}
        \item item one
        \item item two
        \item item three
        \item item four
        \item item five
    \end{itemize}
\end{document} 

我只是想在“...段落”的结尾和“垂直空间之后...”的开头之间引入一些额外的间距(\medskip 或 \vspace),但结果确实不正确,如下所示。

此外,我想减少 \itemize 项目之间的空间,因为它们现在看起来仍然非常分开,但似乎我无法进一步限制。

数字

谢谢!

答案1

\medskip必须写换行符。此外,不要使用\\来创建新段落,而要使用blank line或命令\par

对于列表环境,最好加载enumitem包。它使用一组键来更改列表格式。比较这里noitemsepitemsep=0pt

\documentclass{article}
\usepackage{lipsum}

\setlength{\parindent}{0pt}% No paragraph indentation
\setlength{\parskip}{.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip}

%%Page geometry
\usepackage[left=1cm,top=2cm,right=1cm,bottom=2cm]{geometry}
\usepackage{enumitem} %

\begin{document}

    Some text here \lipsum[2]
     and after that I want to introduce some vertical space at the end of the paragraph. \medskip

    After the vertical space, I want to introduce more text \lipsum[10]

    \begin{itemize}[itemsep =0pt]
        \item item one
        \item item two
        \item item three
        \item item four
        \item item five
    \end{itemize}
    \begin{itemize}[noitemsep]
        \item item one
        \item item two
        \item item three
        \item item four
        \item item five
    \end{itemize}

\end{document} 

在此处输入图片描述

答案2

垂直空间仅在垂直模式下应用。如果您在水平模式下发出该命令,则该空间会被收集,直到进入垂直模式,而垂直模式可能并不总是您想要它去的地方。

下面是两个文本之间插入垂直空格的示例。由于我正在加载lipsum使用该[nopar]选项,对 的所有调用都不\lipsum[.]是段落。因此,在第一个实例中,\lipsum[1]<space>\lipsum[2]它实际上是一个段落。

在此处输入图片描述

    \documentclass{article}

    % Just for this example
    \usepackage[paperheight=35\baselineskip]{geometry}
    \usepackage[nopar]{lipsum}

    \begin{document}

    \noindent\hrulefill{ }1{ }\hrulefill

    \lipsum[1]
    \vspace{5\baselineskip}% Not in vertical mode; only issued once in vertical mode
    \lipsum[2]

    \noindent\hrulefill

    \clearpage
    \noindent\hrulefill{ }2{ }\hrulefill

    \lipsum[1]
    \vspace{5\baselineskip}% Not in vertical mode; next blank line, however, enters vertical mode

    \lipsum[2]

    \noindent\hrulefill

    \clearpage
    \noindent\hrulefill{ }3{ }\hrulefill

    \lipsum[1]

    \vspace{5\baselineskip}% In vertical mode; issued immediately
    \lipsum[2]

    \noindent\hrulefill

    \clearpage
    \noindent\hrulefill{ }4{ }\hrulefill

    \lipsum[1]

    \vspace{5\baselineskip}% In vertical mode; issued immediately (common usage)

    \lipsum[2]

    \noindent\hrulefill

    \end{document}

为了在所需位置一致地输出垂直空间(除了页面顶部需要\vspace*)确保前后都有空格。

相关内容