![用于编写方程组的微调“数组”环境](https://linux22.com/image/440559/%E7%94%A8%E4%BA%8E%E7%BC%96%E5%86%99%E6%96%B9%E7%A8%8B%E7%BB%84%E7%9A%84%E5%BE%AE%E8%B0%83%E2%80%9C%E6%95%B0%E7%BB%84%E2%80%9D%E7%8E%AF%E5%A2%83.png)
我听说array
环境可以高度定制,但我在编写以下系统时感到困惑(该系统来自拉格朗日线性微分方程参数变异方法)
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$$
\begin{array}{rcl}
C_1'\cos t+ C_2'\sin t +C_3'&=&0\\
-C_1'\sin t+ C_2'\cos t &=&0\\
-C_1'\cos t+C_2'(-\sin t)&=&\dfrac{1}{\cos t}
\end{array}
$$
\end{document}
我想要对齐C_1'
、、C_2'
(=
在其他情况下C_3'
也对齐)。
我该怎么写呢?
更新:Bernard 给出了一个很好的答案amsmath
。现在我可以申请一个相关的系统了。关于数字3
,从amsmath 文档,alignat
接受一个参数,“等式列”的数量:计算任意行中 & 的最大数量,加 1 并除以 2。在本例中为 (5+1)/2=3。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{3}
& C'_1 & \cos t &+ C_2'\sin t +&C_3'& e^{2t} =0\\
- & C'_1 & \sin t & + C_2'\cos t +2&C_3'&e^{2t} =0\\
- & C'_1 & \cos t & -C_2'\sin t+4&C_3'&e^{2t} =\frac{1}{\cos t}
\end{alignat*}
\end{document}
答案1
我建议通过以下方式实现这一协调alignat
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{3}
& C'_1 & \cos t &+ C_2'\sin t +C_3'& & =0\\
- & C'_1 & \sin t & + C_2'\cos t & & =0\\
- & C'_1 & \cos t & +C_2'(-\sin t)& & =\frac{1}{\cos t}
\end{alignat*}
\end{document}
答案2
像这样吗?
\documentclass{article}
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{C}{>{{}}c<{{}}} % for relational and binary operators
\begin{document}
\[
\setlength\arraycolsep{0pt}
\renewcommand\arraystretch{1.5}
\begin{array}{lClClCl}
\hphantom{-}C_1'\cos t &+& C_2'\sin t &+& C_3' &=& 0\\
-C_1'\sin t &+& C_2'\cos t & & &=& 0 \\
-C_1'\cos t &-& C_2'\sin t & & &=& 1/\cos t,\quad \cos t\ne 0.
\end{array}
\]
\end{document}
答案3
另一种可能性是使用 systeme 包,它会自动进行设置。对于简单的方程组来说,使用起来非常方便。
一个缺点,文档是法语的!!!(对我来说这是一个优点)
https://www.ctan.org/pkg/systeme
\documentclass{article}
\usepackage{systeme}
\begin{document}
\syssubstitute{{a}{C_1}{b}{C_2}{c}{C_3}}
\systeme[abc]{
a\cos t+ b\sin(t) +c=0,
-a'\sin t+ b\cos(t) =0,
-a\cos t-b\sin(t)=\dfrac{1}{\cos t}
}
\end{document}
答案4
不带包的@Mico 解决方案的变体array
。
\documentclass{article}
\newcommand{\mathsep}{%
\sbox0{$=$}%
\sbox1{$\null =\null$}%
\setlength{\arraycolsep}{\dimexpr 0.25\wd1-0.25\wd0}% 2\arraycolsep per &
}
\begin{document}
\[
\mathsep
\renewcommand\arraystretch{1.5}%
\begin{array}{lclclcl}
\phantom{-}C_1'\cos t &+& C_2'\sin t &+& C_3' &=& 0\\
-C_1'\sin t &+& C_2'\cos t & & &=& 0 \\
-C_1'\cos t &-& C_2'\sin t & & &=& 1/\cos t,\quad \cos t\ne 0.
\end{array}
\]
\end{document}