当我在子方程中使用多个矩阵方程时,我会像代码片段中那样进行操作。但是,当我想根据等号,=(在代码中注释),我在pdftex
ing 过程中遇到错误。
还有其他方法可以对齐子方程吗?
\begin{subequations}
%\begin{align}
\begin{equation} \label{eq:model_m}
[M] =
\begin{bmatrix}
m_{1} & 0 & 0 \\
0 & m_{2} & 0 \\
0 & 0 & m_{3} \\
\end{bmatrix}
\end{equation}
\begin{equation} \label{eq:model_c}
[C] =
\begin{bmatrix}
c_{1} + c_{2} & -c_{2} & 0\\
-c_{2} & c_{2}+ c_{3} & -c_{3}\\
0 & -c_{3} & c_{3} \\
\end{bmatrix} \\
\end{equation}
%\end{align}
\end{subequations}
一个最小的例子是(感谢 Svend Tveskæg 的建议):
\documentclass[]{report} % list options between brackets
\usepackage{amsmath} %contains the advanced math extensions for LaTeX
\begin{document}
\begin{subequations}
%\begin{align}
\begin{equation} \label{eq:model_m}
[X] =
\begin{bmatrix}
a & 0 \\
0 & b \\
\end{bmatrix}
\end{equation}
\begin{equation} \label{eq:model_c}
[Y] =
\begin{bmatrix}
c+e & 0\\
0 & d+f
\end{bmatrix}
\end{equation}
%\end{align}
\end{subequations}
\end{document}
编辑:作为参考,如果重要的话,我在 Windows 7 上使用 MiKTeX 和 TeXstudio。
答案1
您不能equation
在内使用align
,因此只需删除所有这些,在等号前添加,并在第一行末尾(矩阵之后)&
添加换行符( ),这样就可以正常工作。\\
\documentclass[]{report} % list options between brackets
\usepackage{amsmath} %contains the advanced math extensions for LaTeX
\begin{document}
\begin{subequations}
\begin{align}
\label{eq:model_m}
[X] &=
\begin{bmatrix}
a & 0 \\
0 & b \\
\end{bmatrix} \\
\label{eq:model_c}
[Y] &=
\begin{bmatrix}
c+e & 0\\
0 & d+f
\end{bmatrix}
\end{align}
\end{subequations}
\end{document}
答案2
你不需要equation
里面的环境align
。Align
已经包含了功能。
\documentclass[]{report} % list options between brackets
\usepackage{mathtools} %Fixes/improves amsmath
\begin{document}
\begin{subequations}\label{eq:all}
\begin{align}
\label{eq:model_m}
[X] &=
\begin{bmatrix}
a & 0 \\
0 & b \\
\end{bmatrix}\\
\label{eq:model_c}
[Y] &=
\begin{bmatrix}
c+e & 0\\
0 & d+f
\end{bmatrix}
%\end{equation}
\end{align}
\end{subequations}
Some \eqref{eq:all},\eqref{eq:model_c},\eqref{eq:model_m}
\end{document}