最近我在聊天中问了一个问题但有人告诉我我必须在主站点上询问,所以我来了。
我正在使用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 所说,试图从你的代码中理解含义的人可能会因错误归因而感到困惑。