是否已知子方程会引入垂直空白?

是否已知子方程会引入垂直空白?

在此 MWE 中,文本行和以下subequations环境之间存在额外的空白。当我卸载hyperref、删除换行subequations环境、缩短文本行或附加%到文本行时,它会消失。

\documentclass{IEEEtran}
\usepackage{amsmath,hyperref}
\begin{document}
    mmmmmmmmmmmmmmmi 
    mmmmmmmmmmmmmmmi
    \begin{subequations}
        \begin{equation}
            X
        \end{equation}
    \end{subequations}
\end{document}

但它为什么会出现呢?可以修复吗?

答案1

放置\begin{subequations}在段落开始之前,这是段落应该开始的位置。

\documentclass{IEEEtran}
\usepackage{amsmath,hyperref}
\begin{document}

mmmmmmmmmmmmmmmi
mmmmmmmmmmmmmmmi
\begin{subequations}
\begin{equation}
X
\end{equation}
\end{subequations}

\begin{subequations}
mmmmmmmmmmmmmmmi
mmmmmmmmmmmmmmmi
\begin{equation}
X
\end{equation}
\end{subequations}

mmmmmmmmmmmmmmmi
mmmmmmmmmmmmmmmi
\begin{equation}
X
\end{equation}

\end{document}

在此处输入图片描述

答案2

感谢@pluton的评论,让我参考fleqn 文档类选项、长文本行和 hyperref 包,我发现@Faekynn 的评论进一步引向了我整个段落与子公式之间的空间太大以及那里接受的答案。因此,这个也解决了我的问题,而不会扰乱环境的顺序:

\documentclass{IEEEtran}
\usepackage{amsmath,hyperref}

\usepackage{etoolbox}
\preto\subequations{\ifhmode\unskip\fi}

\begin{document}
    mmmmmmmmmmmmmmmi 
    mmmmmmmmmmmmmmmi
    \begin{subequations}
        \begin{equation}
        X
        \end{equation}
    \end{subequations}
\end{document}

相关内容