我想知道是否可以删除flalign*
环境之后的一些不必要的空间。我尝试使用\belowdisplayskip
,但无济于事。
以下是示例输入。
{\setlength{\abovedisplayskip}{0pt}
\begin{flalign*}
x\mathbf{e}_1 + y\mathbf{e}_2 &= x\mathbf{f}_2 + y(-\mathbf{f}_1 - \mathbf{f}_2) &\\
&= -y\mathbf{f}_1 + (x-y)\mathbf{f}_2 &\\
&= w\mathbf{f}_1 + z\mathbf{f}_2 &
\end{flalign*}}
where $w = -y$ and $z = x - y$.
这是相应的输出:
答案1
您还忘记设置\belowdisplayskip
。但是,从图中可以清楚地看出,会插入一个虚假的空间。最好使用新环境:
\documentclass{article}
\usepackage{amsmath}
\newenvironment{nospaceflalign*}
{\setlength{\abovedisplayskip}{0pt}\setlength{\belowdisplayskip}{0pt}%
\csname flalign*\endcsname}
{\csname endflalign*\endcsname\ignorespacesafterend}
\begin{document}
Some irrelevant text above
\begin{nospaceflalign*}
x\mathbf{e}_1 + y\mathbf{e}_2 &= x\mathbf{f}_2 + y(-\mathbf{f}_1 - \mathbf{f}_2) &\\
&= -y\mathbf{f}_1 + (x-y)\mathbf{f}_2 &\\
&= w\mathbf{f}_1 + z\mathbf{f}_2 &
\end{nospaceflalign*}
where $w = -y$ and $z = x - y$.
\end{document}
在这种情况下使用\csname flalign*\endcsname
是必要的,因为环境*
名称中有一个,并且由于与如何处理对齐环境\begin{flalign*}
相关的技术原因,该表单不能使用。amsmath
我们\ignorespacesafterend
解决了虚假空间问题。如果以后您想修改渲染,那么根据定义进行操作会比根据文档进行操作更容易。