在文字中使用 vspace 時如何刪除換行符號下的額外空間

在文字中使用 vspace 時如何刪除換行符號下的額外空間

我正在創建一些自訂環境。其中一個將被放置\wrapfigure,第二個將包含應環繞第一個的文字。

當我在段落之間添加時\vspace,環境下的空白空間\wrapfiture會變得更高。

有什麼辦法可以去掉這個空白嗎?

我無法指定\wrapfigure所需的確切行數,因為它可能會有所不同。

\vspace下面我準備了沒有和有的文本的 MWE \vspace

\documentclass[a4paper,10pt]{article}
\usepackage{wrapfig}
\usepackage{blindtext}

\begin{document}
    \begin{wrapfigure}{l}{0.29\linewidth}
        \begin{enumerate}
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
        \end{enumerate}
    \end{wrapfigure}
    \blindtext[1]\\

    \blindtext[1]\\

    \blindtext[1]
\end{document}

在此輸入影像描述

\documentclass[a4paper,10pt]{article}
\usepackage{wrapfig}
\usepackage{blindtext}

\begin{document}
    \begin{wrapfigure}{l}{0.29\linewidth}
        \begin{enumerate}
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
        \end{enumerate}
    \end{wrapfigure}
    \blindtext[1]\\
    \vspace{50pt}
    \blindtext[1]\\
    \vspace{50pt}
    \blindtext[1]
\end{document}

在此輸入影像描述

答案1

您的範例文字在 wrapfig 之外只有一個段落,行之間插入了垂直空間。這很難捕捉到(並且在段落中間使用 vspace 會產生稍微奇怪的效果,在新增空間之前用空白行結束段落幾乎總是更好。

在這裡,我本地將段落間距設為 50pt,並進行調整, wrapfig以便每個段落末尾算作額外的4 行(實際上5 行在這裡獲得更好的間距,但5*12 為60 > 50 實際上意味著您過度補償,可能會導致剩餘空間不足。

\documentclass[a4paper,10pt]{article}
\usepackage{wrapfig}
\usepackage{blindtext}

\begin{document}

\begingroup
\makeatletter
\setlength\parskip{50pt}
\def\WF@mypar{\relax
 \WF@@par % what the rest of LaTeX expects \par to be (usually \@@par)
 \ifnum\@@parshape=\z@ \let\WF@pspars\@empty \fi % reset `parshape'
 \global\advance\c@WF@wrappedlines-\prevgraf \prevgraf\z@
 \global\advance\c@WF@wrappedlines-4
 \ifnum\c@WF@wrappedlines<\tw@ \WF@finale \fi}


    \begin{wrapfigure}{l}{0.29\linewidth}

        \begin{enumerate}
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
            \item Test item
        \end{enumerate}
    \end{wrapfigure}
    \blindtext[1]

    \blindtext[1]


    \blindtext[1]

\endgroup

\end{document}

在此輸入影像描述

相關內容