对齐长方程

对齐长方程

我已经阅读了所有将长公式放在一页中的不同解决方案,但我仍然对得到的结果不满意。公式右对齐,看起来不太好。如果您有更好的解决方案,请告诉我。这是我的代码:

\begin{equation}

\begin{split}
(1-\mathbf{B})\begin{bmatrix} y_1\\y_2  \\ y_3 \end{bmatrix} &= \\
(\begin{bmatrix} 1\\1  \\ 1 \end{bmatrix}-\begin{bmatrix} 0.30064^{*} & -0.70171 &-10.27380 \\ 0.00206 &  0.35560^{*} &  -0.62373 \\  0.00013 & 0.00228 &  0.77829^{*} \end{bmatrix}\mathbf{B}-\\
\begin{bmatrix} -0.24890^{*} &  0.53801 &  -3.03724 \\  -0.00600 &   0.20570^{*} &  -1.04583 \\ -0.00010 & -0.00189 &  0.27768^{*}  \end{bmatrix}\mathbf{B}^2-\\
\begin{bmatrix} 0.61824^{*} &  0.33973 & -1.09651 \\  -0.00287 &   -0.12782 & 2.79815 \\  -0.00002 & -0.00249 &  -0.07773 \end{bmatrix}\mathbf{B}^3) \begin{bmatrix} \varepsilon_{1t} \\ \varepsilon_{2t} \\ \varepsilon_{3t}  \end{bmatrix}
\end{split}
\end{equation}

答案1

像这样的长方程有时会隐藏重要的细节——我会考虑使用局部定义,例如

截屏

以下是完整的 MWE

% arara: pdflatex
% !arara: indent: {overwrite: true}
\documentclass{article}
\usepackage{amsmath}

\begin{document}

Consider the equation
\begin{equation}
    (1-\mathbf{B})\vec{y} = (1-M_1-M_2\mathbf{B}^2-M_3\mathbf{B}^3)\vec{\epsilon}
\end{equation}
where
\begin{align*}
    M_1 & = \begin{bmatrix} 0.30064^{*}  & -0.70171 & -10.27380 \\ 0.00206 &  0.35560^{*} &  -0.62373 \\  0.00013 & 0.00228 &  0.77829^{*} \end{bmatrix}\\
    M_2 & = \begin{bmatrix} -0.24890^{*} & 0.53801  & -3.03724  \\  -0.00600 &   0.20570^{*} &  -1.04583 \\ -0.00010 & -0.00189 &  0.27768^{*}  \end{bmatrix}\\
    M_3 & = \begin{bmatrix} 0.61824^{*}   & 0.33973  & -1.09651  \\  -0.00287 &   -0.12782 & 2.79815 \\  -0.00002 & -0.00249 &  -0.07773 \end{bmatrix}
\end{align*}
\end{document}

可以使用siunitx帮助十进制对齐的包。

希尼奇

% arara: pdflatex
% !arara: indent: {overwrite: on, localSettings: true}
\documentclass{article}
\usepackage{amsmath}
\usepackage{siunitx}

\begin{document}

Consider the equation
\begin{equation}
    (1-\mathbf{B})\vec{y} = (1-M_1\mathbf{B}-M_2\mathbf{B}^2-M_3\mathbf{B}^3)\vec{\epsilon}
\end{equation}
where
\begin{align*}
    M_1 & = 
    \left[
        \setlength{\arraycolsep}{10pt}
        \begin{array}{S[table-format=1.5] S[table-format=1.5] S[table-format=2.5]}
            0.30064$^*$ & -0.70171    & -10.27380   \\ 
            0.00206     & 0.35560$^*$ & -0.62373    \\  
            0.00013     & 0.00228     & 0.77829$^*$ 
        \end{array}
    \right]
    \\
    M_2 & = 
    \left[
        \setlength{\arraycolsep}{10pt}
        \begin{array}{S[table-format=1.5] S[table-format=1.5] S[table-format=1.5]}
            -0.24890$^{*}$ & 0.53801       & -3.03724      \\  
            -0.00600       & 0.20570$^{*}$ & -1.04583      \\ 
            -0.00010       & -0.00189      & 0.27768$^{*}$ 
        \end{array}
    \right]
    \\
    M_3 & = 
    \left[
        \setlength{\arraycolsep}{10pt}
        \begin{array}{S[table-format=1.5] S[table-format=1.5] S[table-format=1.5]}
            0.61824$^{*}$ & 0.33973  & -1.09651 \\  
            -0.00287      & -0.12782 & 2.79815  \\  
            -0.00002      & -0.00249 & -0.07773 
        \end{array}
    \right]
\end{align*}
\end{document}

答案2

我会构造三行,以便大型矩阵垂直对齐。我还会对三个 3x3 矩阵中的数字进行十进制对齐。为此,您可以使用包dcolumn;这需要使用array环境而不是环境。当然,pmatrix您仍然可以对三个列向量使用环境。pmatrix

在此处输入图片描述

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\renewcommand\arraycolsep{3pt} % default value: 6pt
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}
\begin{equation}\begin{split} \label{eq:threelign}
(1-\mathbf{B})
\begin{bmatrix} y_1 \\y_2  \\ y_3 \end{bmatrix}
=  \left(
\begin{bmatrix} 1 \\1  \\ 1 \\ \end{bmatrix} 
\right.
&- \left[ \begin{array}{d{2.5}d{3.5}d{3.5}} 
0.30064^{*} & -0.70171 &-10.27380 \\ 
0.00206 &  0.35560^{*} &  -0.62373 \\  
0.00013 & 0.00228 &  0.77829^{*} \\
\end{array}\right] \mathbf{B} \\
&- \left[ \begin{array}{d{2.5}d{3.5}d{3.5}} 
-0.24890^{*} &  0.53801 &  -3.03724 \\  
-0.00600 &   0.20570^{*} &  -1.04583 \\ 
-0.00010 & -0.00189 &  0.27768^{*} \\ 
\end{array}\right] \mathbf{B}^2  \\
&- \left.
   \left[ \begin{array}{d{2.5}d{3.5}d{3.5}} 
0.61824^{*} &  0.33973 & -1.09651 \\  
-0.00287 &   -0.12782 & 2.79815 \\  
-0.00002 & -0.00249 &  -0.07773 
\end{array}\right] \mathbf{B}^3
\right) 
\begin{bmatrix} 
\varepsilon_{1t} \\ \varepsilon_{2t} \\ \varepsilon_{3t}  
\end{bmatrix}
\end{split}\end{equation}
\end{document}

答案3

还有另一种可能性:

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\begin{equation}
\begin{split}
(1-\mathbf{B})
\begin{bmatrix} y_1\\y_2  \\ y_3 \end{bmatrix} 
&= 
\left(\begin{bmatrix} 1\\1  \\ 1 \end{bmatrix}
- \begin{bmatrix} 0.30064^{*} & -0.70171 & -10.27380 \\ 0.00206 &  0.35560^{*} &  -0.62373 \\  0.00013 & 0.00228 &  0.77829^{*} \end{bmatrix}\mathbf{B}\right. \\
&\qquad{} - \begin{bmatrix} -0.24890^{*} &  0.53801 &  -3.03724 \\  -0.00600 &   0.20570^{*} &  -1.04583 \\ -0.00010 & -0.00189 &  0.27768^{*}  \end{bmatrix}\mathbf{B}^2\\
&\qquad{} - \left.\begin{bmatrix} 0.61824^{*} &  0.33973 & -1.09651 \\  -0.00287 &   -0.12782 & 2.79815 \\  -0.00002 & -0.00249 &  -0.07773 \end{bmatrix}\mathbf{B}^3\right) \begin{bmatrix} \varepsilon_{1t} \\ \varepsilon_{2t} \\ \varepsilon_{3t}  \end{bmatrix}
\end{split}
\end{equation}

\end{document}

在此处输入图片描述

注意使用\left...\right对来获取大分隔符,并且还使用,{} - ...以便将行首的减号视为二元运算符。

答案4

也许multline这里实际上没有任何对齐点:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath}

\begin{document}

original equation/split
\begin{equation}
\begin{split}
(1-\mathbf{B})\begin{bmatrix} y_1\\y_2  \\ y_3 \end{bmatrix} &= \\
(\begin{bmatrix} 1\\1  \\ 1 \end{bmatrix}-\begin{bmatrix} 0.30064^{*} & -0.70171 &-10.27380 \\ 0.00206 &  0.35560^{*} &  -0.62373 \\  0.00013 & 0.00228 &  0.77829^{*} \end{bmatrix}\mathbf{B}-\\
\begin{bmatrix} -0.24890^{*} &  0.53801 &  -3.03724 \\  -0.00600 &   0.20570^{*} &  -1.04583 \\ -0.00010 & -0.00189 &  0.27768^{*}  \end{bmatrix}\mathbf{B}^2-\\
\begin{bmatrix} 0.61824^{*} &  0.33973 & -1.09651 \\  -0.00287 &   -0.12782 & 2.79815 \\  -0.00002 & -0.00249 &  -0.07773 \end{bmatrix}\mathbf{B}^3) \begin{bmatrix} \varepsilon_{1t} \\ \varepsilon_{2t} \\ \varepsilon_{3t}  \end{bmatrix}
\end{split}
\end{equation}



new multline
\begin{multline}
(1-\mathbf{B})\begin{bmatrix} y_1\\y_2  \\ y_3 \end{bmatrix} = {}\\
\Biggl(\begin{bmatrix} 1\\1  \\ 1 \end{bmatrix}-\begin{bmatrix} 0.30064^{*} & -0.70171 &-10.27380 \\ 0.00206 &  0.35560^{*} &  -0.62373 \\  0.00013 & 0.00228 &  0.77829^{*} \end{bmatrix}\mathbf{B}-{}\\
\begin{bmatrix} -0.24890^{*} &  0.53801 &  -3.03724 \\  -0.00600 &   0.20570^{*} &  -1.04583 \\ -0.00010 & -0.00189 &  0.27768^{*}  \end{bmatrix}\mathbf{B}^2-{}\\
\begin{bmatrix} 0.61824^{*} &  0.33973 & -1.09651 \\  -0.00287 &   -0.12782 & 2.79815 \\  -0.00002 & -0.00249 &  -0.07773 \end{bmatrix}\mathbf{B}^3\Biggr)
 \begin{bmatrix} \varepsilon_{1t} \\ \varepsilon_{2t} \\ \varepsilon_{3t}  \end{bmatrix}
\end{multline}


\end{document}

相关内容