テキストで vspace を使用する場合に wrapfigure の下の余分なスペースを削除する方法

テキストで vspace を使用する場合に wrapfigure の下の余分なスペースを削除する方法

いくつかのカスタム環境を作成しています。そのうちの 1 つを配置し\wrapfigure、2 つ目には最初の環境を囲むテキストを含めます。

段落間に内容を追加すると、環境\vspaceの下の空白スペースが広くなります。\wrapfiture

この空白を削除する方法はありますか?

行数は変化する可能性があるため、正確な行数を指定することはできません。2\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 の外側にあるサンプル テキストには、行間に垂直スペースが挿入された 1 つの段落しかありませんでした。これは見つけるのが困難です (段落の途中で vspace を使用すると、少し奇妙な効果が生じます)。ほとんどの場合、スペースを追加する前に段落を空白行で終了する方が適切です。

ここでは、段落の間隔をローカルに 50 pt に設定し、 wrapfig各段落の末尾が追加の 4 行としてカウントされるように調整します (実際には 5 行のほうが間隔が広くなりますが、5*12 は 60 > 50 であるため、実際には補正しすぎて十分なスペースが残らない可能性があります。ここでは 12 pt がデフォルトのベースライン スペースです)。

\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}

ここに画像の説明を入力してください

関連情報