如何定义星级定制聚集新环境

如何定义星级定制聚集新环境

我正在编写一个文件,我需要不给 gather 环境中的方程式编号。我能够看到普通版本(这个答案,效果很好:

\newenvironment{Lgather}{\useshortskip\leavevmode\vspace*{-\baselineskip}\fleqn\gather}{\endgather\endfleqn}  

但是当我尝试创建带星号的版本时,方程式将不会被编号(1.1、1.2......),它会失败:

\newenvironment{Lgather}{\csname \useshortskip\leavevmode\vspace*{-\baselineskip}\fleqn\gather*\endcsname}{\csname \endgather*\endfleqn \endcsname}

我甚至尝试过

\newenvironment{Lgather}{\useshortskip\leavevmode\vspace*{-\baselineskip}\fleqn\gather*}{\endgather*\endfleqn} 

但它也失败了...

提前非常非常感谢您!

答案1

由于您不需要方程编号,因此您可以使用gathered环境。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}
\begin{document}

\noindent
The following conditions are true:
\begin{enumerate}
\item $\begin{gathered}[t]
       x^2 \ge 0 \\
       x^2-y^2 \le 0 
       \end{gathered} $
\end{enumerate}
\end{document}

如果你有很多这样的gathered环境实例,你可能希望通过设置宏来简化输入它们的过程,例如,

\newcommand{\Lgather}[1]{\ensuremath{\begin{gathered}[t] #1 \end{gathered}}}

然后输入如下方程:

\Lgather{x^2 \ge 0 \\ x^2-y^2 \le 0} 

答案2

可以从 推断出来\meaning\gather,但\st@arredtrue用代替\st@rredfalse

\documentclass{article}
\usepackage{amsmath,nccmath}
\begin{document}
\makeatletter
\newenvironment{Lgather}{\useshortskip\leavevmode
   \vspace*{-\baselineskip}\fleqn\start@gather\st@rredtrue}
  {\endgather\endfleqn}
\makeatother
\begin{Lgather}
a =1\\
b=2\\c=3
\end{Lgather}

\meaning \gather
\end{document}

在此处输入图片描述

相关内容