我需要一个不间断的版本/重新定义,\noalign
以便在环境结束时使用它(在本例中为 align)。到目前为止,我一直在寻找的标准定义,以便\noalign
基于它编写重新定义,但到目前为止我还没有找到任何东西。
\noalign
如果有人能够提供一个定义,而不自动创建新行(而是由\noalign{}\\
),那就太好了。
更清楚一点:如果你在对齐环境中定义一个\noalign
-row 并在其后立即关闭环境而没有任何填充内容(数学)的行,则文档中会出现一些空格/跳过。我根本不想要这个空格,并希望有一个解决方法。;)
最小:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\section{minimal}
lipsum
\begin{align*}
\eta_D &= \eta_0 \cdot \eta_R \cdot \eta_H
\end{align*}
normal spacing above
new round
\begin{align*}
\noalign{\centering $\eta_D = \eta_0 \cdot \eta_R \cdot \eta_H$}
\end{align*}
extended spacing below the align-env.
\end{document}
答案1
\noalign
是不是环境的伴侣align
。
它是一个 TeX 基元,会产生一些影响,但在本例中没有计划。正如 @egreg 在本例中已经建议的那样,为什么不简单地将文本放在对齐之后?
如果你真的想这样做,那么你可以这样做
\noalign{\hbox{some content}\kern-\baselineskip}
但我不推荐它。
答案2
正如已经指出的那样,\noalign
不适合在定义的乳胶结构中使用amsmath
。也许这就是你正在寻找的?
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\section{minimal}
lipsum
\begin{align*}
\eta_D &= \eta_0 \cdot \eta_R \cdot \eta_H
\end{align*}
normal spacing above
new round
\begin{align*}
\eta_D &= \eta_0 \cdot \eta_R \cdot \eta_H\\
\shortintertext{some random text}
\theta_D &= \theta_0 \cdot \theta_R \cdot \theta_H
\end{align*}
extended spacing below the align-env.
\end{document}
实际上,不建议将align
环境用于单行,无论是编号还是未编号的行。对于未编号的行,建议使用\[ ... \]
或,对于编号的行,建议使用无星号环境。当用于单行显示时,关于多行环境格式不良的投诉或“错误报告”将被拒绝。\begin{equation*} ... \end{equation*}
equation
amsmath