整个段落与子公式之间的空间太大

整个段落与子公式之间的空间太大

我有一篇使用子方程和 parskip 包的文档。如果子方程环境之前的段落完全填满到最后一行,那么本段落和以下子方程之间就会出现额外的垂直空白。我猜这是一个错误,但我不确定,我也没有足够的 TeX 知识来尝试修复它。我该如何修复这个空白问题?

下面是一个显示行为的 MWE,至少在 LaTeX2e <2003/12/01> 和 pdfeTeX 3.141592-1.21a-2.2 上是如此(不幸的是,这台机器上只安装了旧的 tetex 发行版)。

\documentclass[a4paper,11pt]{article}

\usepackage{parskip}
\usepackage{amsmath}

\begin{document}

The subequations environment provides a convenient way to number a foos
\begin{subequations}\label{foo}
  \begin{align}
    x^2 + y^2 &= z^2\\
    a &= b + c
  \end{align}
\end{subequations}

\end{document}

答案1

问题是,后面的空格foos不会在换行符处消失,因为\begin{subequations}后面有(我不知道具体原因)。

在段落之间使用\begin{subequations},或者说

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

在 daleif 的例子中,问题是一样的:空格保留下来并在段落中生成新行。但是,空格\label仅用于\pageref使用,因此必须必须附加到一个单词上,否则引用可能会偏离一个词。

答案2

不知道这里到底发生了什么。但这是一个更简单的例子

\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
\begin{document}
\noindent The subequations environment provides a convenient way to
number a foos%
\label{foo}
\begin{align}
  x^2 + y^2 &= z^2\\
  a &= b + c
\end{align}
\end{document}

删除%后我们就会重新处理您的问题。

答案3

以下示例显示 位于\mbox新行中,并且我们获得与 之前没有空格时相同的垂直空间\mbox

\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
%\usepackage{microtype}
\begin{document}
\noindent The subequations environment provides a convenient way to
number a foos
\mbox{}\rlap{\rule{1pt}{2ex}\rule{0.6\linewidth}{1pt}}
\begin{align}
  x^2 + y^2 &= z^2\\
  a &= b + c
\end{align}
\end{document}

在此处输入图片描述

相关内容