我有代码来排版四个线性方程组。我把所有方程都对齐在等号处。在第二个系统的第一个方程中,我有
+ 0 = (q-m)x + b_{1}
,
但我想要
0 = (q-m)x + b_{1}
,
在第二个系统的第二个方程中,y
和等号之间有一个间隙。在第三和第四个系统的第一个方程中,和等号之间有一个间隙x
。
另外,我想在前三个方程组后添加一个逗号,在最后一个方程组后添加一个句号。我理解这,
表示命令中的新方程\systeme
。因此,我无法在此环境中,
排版LaTeX
逗号。无论如何,我希望这些标点符号位于每个方程组的两行之间。
\documentclass{amsart}
\usepackage{mathtools,systeme,array}
\begin{document}
\begin{align*}
\systeme{y = \mathrlap{qx + b_{1}}, y = \mathrlap{mx}} \\
\systeme{0 = \mathrlap{(q - m)x + b_{1}}, y = \mathrlap{mx}} \\
\systeme{x = \mathrlap{\dfrac{b_{1}}{m - q}}, y = \mathrlap{mx}} \\
\systeme{x = \mathrlap{\dfrac{b_{1}}{m - q}}, y = \mathrlap{\dfrac{mb_{1}}{m - q}}}
\end{align*}
\end{document}
答案1
您不需要使用四个systeme
环境,而是可以使用array
嵌入在一个环境中的四个环境align*
。
\documentclass{amsart}
\begin{document}
\begin{align*}
&\bigg\{ \begin{array}{r @{{}={}} l}
y & qx + b_{1}\\y & mx
\end{array},\\
&\bigg\{ \begin{array}{r @{{}={}} l}
0 & (q - m)x + b_{1}\\y & mx
\end{array},\\
&\bigg\{ \begin{array}{r @{{}={}} l}
x & b_{1}/(m - q)\\y & mx
\end{array},\\
&\bigg\{ \begin{array}{r @{{}={}} l}
x & b_{1}/(m - q)\\y & mb_{1}/(m - q)
\end{array} .
\end{align*}
\end{document}
附录:根据您的要求,这是方程组的一个版本,它使用\dfrac
宏而不是内联分数作为最后两个系统的代数。由于系统 3 和 4 中的花括号比系统 1 和 2 中的花括号大,因此还需要进一步调整水平间距以对齐符号=
。(无论使用array
或环境,都需要执行水平间距调整。)systeme*
\documentclass{amsart}
\usepackage{mleftright} % "\mleft\{" avoids some spacing issues caused by "\left\{"
\begin{document}
\begin{align*}
&\bigg\{ \begin{array}{r @{{}={}} l}
y & qx + b_{1}\\y & mx
\end{array},\\
&\bigg\{ \begin{array}{r @{{}={}} l}
0 & (q - m)x + b_{1}\\y & mx
\end{array},\\
&\Bigg\{ \mkern-1.7mu \begin{array}{r @{{}={}} l}
x & \dfrac{b_{1}}{m - q}\\[1.5ex]y & mx
\end{array},\\
&\mleft\{ \mkern-3.2mu\begin{array}{r @{{}={}} l}
x & \dfrac{b_{1}}{m - q}\\[2.5ex] y & \dfrac{mb_{1}}{m - q}
\end{array} \mright. \,.
\end{align*}
\end{document}
第二附录:如果您真的不想目测调整大花括号相对于其关联的两行方程组(每个方程组都放置在一个array
环境中)的水平对齐方式,我只能建议您将四个花array
括号放在“外部”两列数组的右侧列中:左侧列包含关联的花括号,通过\vphantom
指令调整大小。
\documentclass{amsart}
\usepackage{mleftright,array}
\begin{document}
%% First, define the four systems as arrays
\def\sysa{\begin{array}{r @{{}={}} l}
y & qx + b_{1}\\y & mx
\end{array}}
\def\sysb{\begin{array}{r @{{}={}} l}
0 & (q - m)x + b_{1}\\y & mx
\end{array}}
\def\sysc{\begin{array}{r @{{}={}} l}
x & \dfrac{b_{1}}{m - q}\\[1.5ex] y & mx
\end{array}}
\def\sysd{\begin{array}{r @{{}={}} l}
x & \dfrac{b_{1}}{m - q}\\[2.5ex] y & \dfrac{mb_{1}}{m - q}
\end{array}}
%% Second, place the systems in the right-hand column of an "outer" array
%% Each system array is featured twice: Inside a \vphantom statement in
%% the left-hand column, to determine the size of the curly brace, and
%% again in the right-hand column as itself.
\[
\begin{array}{l@{}l}
\mleft\{ \vphantom{\sysa} \mright. & \sysa \\[2.5ex]
\mleft\{ \vphantom{\sysb} \mright. & \sysb \\[2.5ex]
\mleft\{ \vphantom{\sysc} \mright. & \sysc \\[3.8ex]
\mleft\{ \vphantom{\sysd} \mright. & \sysd
\end{array}
\]
\end{document}
答案2
您想使用\systeme*
,它不进行对齐。对于第二种,您还必须将其声明0
为变量。在带有分数的那些中,我添加了补充垂直间距。
\documentclass{amsart}
\usepackage{systeme}
\begin{document}
\begin{align*}
&\systeme*{y = qx + b_{1}, y = mx} \\
&\systeme*[var=x,y,0]{0 = (q - m)x + b_{1}, y = mx} \\
&\syslineskipcoeff{1.75}\systeme*{x = \dfrac{b_{1}}{m - q}, y = mx} \\
&\syslineskipcoeff{1.75}\systeme*{x = \dfrac{b_{1}}{m - q}, y = \dfrac{mb_{1}}{m - q}}
\end{align*}
\end{document}
您可以改善间距并添加标点符号(但我会避免使用逗号和句号);对于逗号,将其放在括号中,这样它对于公式扫描仪来说是不可见的。
\documentclass{amsart}
\usepackage{systeme}
\begin{document}
\begin{align*}
&\systeme*{y = qx + b_{1}, y = mx{\;,}} \\
&\systeme*[var=x,y,0]{0 = (q - m)x + b_{1}, y = mx{\;,}} \\
&\syslineskipcoeff{1.75}\systeme*{x = \dfrac{b_{1}}{m - q}, y = mx{\;,}} \\
&\syslineskipcoeff{2.25}\systeme*{x = \dfrac{b_{1}}{m - q}, y = \dfrac{mb_{1}}{m - q}{\;.}}
\end{align*}
\end{document}