マトリックス環境での垂直間隔: どうすれば同じことができますか?

マトリックス環境での垂直間隔: どうすれば同じことができますか?

問題は次の通りです。ヤコビ行列を他の 2 つの行列の積として書き込もうとしているのですが、高さが同じではないため結果が間違っています。コードは次のとおりです。

\documentclass[11pt]{book}
\usepackage{amsmath}
\begin{document}

\begin{align*}
   Jac(f \circ \varphi)_{x_0} =& Jac(f)_{\varphi(x_0)} Jac(\varphi)_{x_0} \\
   =& \begin{pmatrix}
     \frac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\
     \frac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
   \end{pmatrix} \begin{pmatrix}
     \cos(\theta) & -r \sin(\theta) \\
     \sin(\theta) & r \cos(\theta)
   \end{pmatrix}
 \end{align*}
\end{document}

/em のようなトリックは使いたくないのですが、解決策はありますか? よろしくお願いします!

答え1

行列の高さを同じにする必要はありません。むしろ、\dfrac内部偏微分を使用して行の間隔を少し空けます。高さを同じにするには、2 番目の配置を参照してください。

\documentclass[11pt]{book}
\usepackage{amsmath}
\DeclareMathOperator{\Jac}{Jac}

\begin{document}

\begin{align*}
\Jac(f \circ \varphi)_{x_0} 
&= \Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
&= \begin{pmatrix}
   \dfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\[3ex]
   \dfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
   \end{pmatrix}
   \begin{pmatrix}
   \cos(\theta) & -r \sin(\theta) \\[2ex]
   \sin(\theta) & r \cos(\theta)
   \end{pmatrix}
\end{align*}
\begin{align*}
\Jac(f \circ \varphi)_{x_0} 
&= \Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
&= \begin{pmatrix}
   \frac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\[1ex]
   \frac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
   \end{pmatrix}
   \begin{pmatrix}
   \cos(\theta) & -r \sin(\theta) \\[1ex]
   \sin(\theta) & r \cos(\theta)
   \end{pmatrix}
\end{align*}
\end{document}

数学演算子の使用と、&=の代わりに正しい に注意してください=&

ここに画像の説明を入力してください

答え2

\mfracパッケージの (中サイズ分数)を使用するとnccmath、マトリックスのサイズがより適切になります。 見た目の面で最悪なのは、線がほぼ揃っていることだと思います。そのため、2 番目のマトリックスの行間に手動でスペースを追加する必要があります。また、フォントやフォント サイズを変更すると、すべてを再度調整する必要があるかもしれません。

blkarrayパッケージを使用して、区切り文字を含む 1 つの行列のみを書き込むことで、行列を正確に整列させる自動的な方法があります 。ただし、これにはいくつか欠点があります。align ではうまく機能しないため、たとえば、整列ポイント (=)beforeはアンパサンドで記述する必要があります。いずれにしても、次のコードは両方の方法を示しています。また、 cellspaceパッケージを使用して、行列内の線を少し緩めました (blkarray では機能しません)。

    \documentclass[11pt, leqno]{book}
    \usepackage[utf8]{inputenc}
    \usepackage{amsmath}

    \DeclareMathOperator{\Jac}{Jac}
    \usepackage{blkarray}
    \usepackage{nccmath}
    \usepackage[math]{cellspace}
    \cellspacetoplimit = 3pt
    \cellspacebottomlimit = 3pt

    \begin{document}

    \begin{align*}
     \Jac(f \circ \varphi)_{x_0} =&\Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
    \tag*{\small manual adjustment:}           =& \begin{pmatrix}
         \mfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\
         \mfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
       \end{pmatrix} \begin{pmatrix}
         \cos(\theta) & -r \sin(\theta) \\[6pt]
         \sin(\theta) & r \cos(\theta)
       \end{pmatrix}
       \\%
    \tag*{\small with blkarray:}       = &{\ } \begin{blockarray}[t]{(c)!{\ }(cc)}
        \mfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) &  \cos(\theta) & -r \sin(\theta)\\[8pt]
         \mfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta)) & \sin(\theta) & r \cos(\theta)
        \end{blockarray}
     \end{align*}

    \end{document} 

ここに画像の説明を入力してください

関連情報