我正在编写一个文件,我需要不给 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}