为什么包裹在卷曲空格中的彩色换行符会占用空间?

为什么包裹在卷曲空格中的彩色换行符会占用空间?

我注意到\colorenumerate环境结合时存在奇怪的垂直间距问题。基本上,似乎{(line break)}根据其在\color和 extra 中的包装方式, 占用了不同数量的水平空间{...},导致分配了额外的行(垂直空间):

\documentclass{article}
\usepackage{color}
\newcommand{\red}[1]{{\color{red}{#1}}}
\newcommand{\var}[1]{\color{red}{#1}}
\begin{document}
    \begin{enumerate}
        \item \hspace*{320pt}\red{
        }
    \end{enumerate}
    This line is way too far down!

    \begin{enumerate}
        \item \hspace*{320pt}{\color{red}{
        }}
    \end{enumerate}
    Same here! But compare to the next ones:

    \begin{enumerate}
    \item \hspace*{318pt}\red{
    }
    \end{enumerate}
    Less hspace - not as far down (interestingly: overfull hbox!)

    \begin{enumerate}
        \item \hspace*{320pt}\var{
        }
    \end{enumerate}
    One less level of curly braces - not as far down

    \begin{enumerate}
        \item \hspace*{320pt}\red{%
        }
    \end{enumerate}
    Line break commented - not as far down

    \begin{enumerate}
        \item \hspace*{320pt}\red{}
    \end{enumerate}
    No line break in colored text - not as far down

    \begin{enumerate}
        \item \hspace*{320pt}{{
        }}
    \end{enumerate}
    No color - not as far down

    \begin{enumerate}
        \item \hspace*{320pt}
    \end{enumerate}
    Standard case - not as far down

\end{document}

在此处输入图片描述

说实话,我真的不知道我的问题是什么:我遇到过 latexdiff 导致的这个问题(它在\DIFadd构造末尾引入了额外的换行符 - 因此有标签),但它实际上只在非常满的行末尾才相关,而且很容易被忽略。我通过缩短句子解决了这个问题(是的,我做到了),所以我认为最相关的问题是,这是为什么? 从总体上来说我能做些什么来防止这种情况发生吗?

相关内容