如何摆脱 & 在案件环境中,但仍然在周围环境中获得相同的空间

如何摆脱 & 在案件环境中,但仍然在周围环境中获得相同的空间

最近我在聊天中问了一个问题有人告诉我我必须在主站点上询问,所以我来了。

我正在使用cases环境创建多个方程组,并以符号分隔,例如\equiv。以下是示例:

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

\begin{document}

\[
\begin{cases}
x+y=2,\\x=2
\end{cases}
\equiv
\begin{cases}
2+y=2,\\x=2
\end{cases}
\]

\end{document}

我做了什么

但是,正如您所见,第一个 的末尾cases和之间有很大间隙\equiv&这是因为cases,但我不想添加这个符号来填充空格。因此,我发现一个手动、低效甚至不正确的解决方案是添加负空间,比如说\!在 之前添加 5/6 \equiv

如果我添加5负空间,那么一侧的空间就会比另一侧多:

如果我们加五会发生什么!

如果我添加6负空间,那么同样的事情就会发生:

同样的事情发生了

超过6或少于5都会导致更糟糕的输出。

我希望保持方程组的格式不变,两边都会有一个均匀的空间cases。 是否可以?

谢谢!!

PS 我还想知道,在方程组中,您是否会用,出现的最后一个方程(即下面的方程)中的 except 来分隔每个方程(除非有文本继续阅读或结束句子)。AMS 样式指南对此有何说明?

答案1

你可以使用aligned

\documentclass{article}
\usepackage{amsmath}

\newenvironment{system}
  {\[\left\lbrace\aligned}
  {\endaligned\right.\]\ignorespacesafterend}

\begin{document}
Example:
\begin{system}
&x+y=2\\&x=2
\end{system}


\end{document}

答案2

删除列间空格以及空分隔符空格。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newenvironment{system}
 {%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrace
  \def\arraystretch{1.2}%
  \array{@{}l@{}}%
 }
 {%
  \endarray
  \right.\kern-\nulldelimiterspace
 }
\makeatother

\begin{document}

\[
\begin{system}
x+y=2,\\x=2
\end{system}
\equiv
\begin{system}
2+y=2,\\x=2
\end{system}
\]

\end{document}

在此处输入图片描述

我怀疑你的读者是否明白你这里的意思。

答案3

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[usestackEOL]{stackengine}
\stackMath
\setstackgap{L}{16pt}
\begin{document}
\[
\biggl\{\Centerstack[l]{x+y=2,\\x=2}
\equiv
\biggl\{\Centerstack[l]{2+y=2,\\x=2}
\]
\end{document}

在此处输入图片描述

答案4

考虑使用该systeme包。

你的例子中的分组方程实际上是方程组,并且不是情况。而且,正如 egreg 所说,试图从你的代码中理解含义的人可能会因错误归因而感到困惑。

相关内容