問題は次の通りです。ヤコビ行列を他の 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}