mathpartir:\abovedisplayskip 和 \belowdisplayskip 影响边条件的放置

mathpartir:\abovedisplayskip 和 \belowdisplayskip 影响边条件的放置

我正在使用 egreg 的解决方案删除周围的垂直空间\align删除环境,并发现与mathpartir.sty用于排版推理规则的包。

在此处输入图片描述

如果我按照 egreg 的建议进行设置,\abovedisplayskip\belowdisplayskip附加在推理规则右侧的任何文本的位置都会受到影响,如上所示。左侧的任何文本均不受影响。

事情通常看起来是这样的:

在此处输入图片描述

代码如下:

\documentclass{article}

\usepackage{mathpartir}
\usepackage{etoolbox}

\newcommand{\zerodisplayskips}{%
  \setlength{\abovedisplayskip}{2pt}
  \setlength{\belowdisplayskip}{2pt}
  \setlength{\abovedisplayshortskip}{2pt}
  \setlength{\belowdisplayshortskip}{2pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}

\begin{document}
\begin{mathpar}
\inferrule*[left={Ok},right={Too far!}]
{
    \strut  
}
{
    A * B
}
\end{mathpar}
\end{document}

事情可能就是这样运作的,但无论如何,我希望有一种方法可以将显示环境周围的垂直间距的指定更改保持不变,同时保留推理规则的通常布局。

答案1

宏中有不需要的空格\zerodisplayskips。请将其放在%行末以消除这些空格。

\documentclass{article}

\usepackage{mathpartir}
\usepackage{etoolbox}

\newcommand{\zerodisplayskips}{%
  \setlength{\abovedisplayskip}{2pt}%
  \setlength{\belowdisplayskip}{2pt}%
  \setlength{\abovedisplayshortskip}{2pt}%
  \setlength{\belowdisplayshortskip}{2pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}

\begin{document}
\begin{mathpar}
\inferrule*[left={Ok},right={Too far!}]
{
    \strut  
}
{
    A * B
}
\end{mathpar}
\end{document}

相关内容