我想将方程式一个接一个地显示出来,并在左侧添加一个大括号,array
例如在环境中。但是,括号和方程式之间总是会有一个相应的空白:
上述示例的代码:
\documentclass{standalone}
\usepackage{amsmath,amssymb}
\begin{document}
\( \left\lbrace \begin{array}{l} x^2 + y^2 = R \\ x>0 \end{array} \right. \)
\end{document}
有没有办法去除上述空白?
提前致谢
答案1
环境在数组的两边{array}
添加相等的长度。在 的文档中,您可以阅读:\arraycolsep
amsmath
数组在每一侧添加的 \arraycolsep 的额外空间是一种浪费,因此我们在 [在 {matrix} 中] 将其删除(也许我们应该将其从数组中删除,但这是一项更艰巨的任务)。
为了删除这些空格,您必须添加@{}
前导码以将 替换\arraycolsep
为空({}
中的@{}
)。
\documentclass{standalone}
\usepackage{amsmath,amssymb}
\begin{document}
\( \left\lbrace \begin{array}{@{}l@{}} x^2 + y^2 = R \\ x>0 \end{array} \right. \)
\end{document}
答案2
正如@Bernard 在评论中所建议的,您可以使用cases
来自的环境。或者,您可以通过将其放置在中指定的列之前来amsmath
减少括号和方程式之间的间距。@{}
l
array
\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
Original: \( \left\lbrace \begin{array}{l} x^2 + y^2 = R \\ x>0 \end{array} \right. \)
With \verb|cases|: \( \begin{cases} x^2 + y^2 = R \\ x>0 \end{cases} \)
Reducing space: \( \left\lbrace \begin{array}{@{}l} x^2 + y^2 = R \\ x>0 \end{array} \right. \)
\end{document}
在第三个示例中,您还可以根据需要调整间距,因为 会将@{}
括号之间的内容放置在数组每一行的该位置。因此,例如,可以@{}
通过替换@{\,}
或来添加空格。@{\;}