我正在努力使方程式中的所有矩阵具有相同的高度(垂直对齐)。如果能得到一些建议,我将不胜感激。我尝试了一些解决方案这里和那里但看起来我的问题不同。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation} \label{eq:system_dynamics_l}
\begin{bmatrix}
m_1+m_2 & \dfrac{1}{2}m_2 L \\\[4mm\]
\dfrac{1}{2}m_2 L & \dfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}
\ddot{x} \\\[4mm\] \ddot{\theta}
\end{bmatrix}
+ \begin{bmatrix}
b & 0 \\\[4mm\]
0 & c
\end{bmatrix}\begin{bmatrix}
\dot{x} \\\[4mm\] \dot{\theta}
\end{bmatrix}
+\begin{bmatrix}
k & 0 \\\[4mm\] 0 & m_2g\dfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
x \\\[4mm\] \theta
\end{bmatrix}
=\begin{bmatrix}
0 \\\[4mm\] 0
\end{bmatrix}
\end{equation}
\end{document}
答案1
因为\dfrac
高于矩阵的其他元素。有两种可能性:使用\tfrac
或\vphantom
s。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Arguably simplest solution (thanks to David Carlisle)
\begin{equation} \label{eq:system_dynamics_0}
\begin{bmatrix}
m_1+m_2 & \tfrac{1}{2}m_2 L \\[4mm]
\tfrac{1}{2}m_2 L & \tfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}
\ddot{x} \\[4mm] \ddot{\theta}
\end{bmatrix}
+ \begin{bmatrix}
b & 0 \\[4mm]
0 & c
\end{bmatrix}\begin{bmatrix}
\dot{x} \\[4mm] \dot{\theta}
\end{bmatrix}
+\begin{bmatrix}
k & 0 \\[4mm] 0 & m_2g\tfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
x \\[4mm] \theta
\end{bmatrix}
=\begin{bmatrix}
0 \\[4mm] 0
\end{bmatrix}
\end{equation}
Original proposal 1:
\begin{equation} \label{eq:system_dynamics_l}
\begin{bmatrix}
m_1+m_2 & \tfrac{1}{2}m_2 L \\[4mm]
\tfrac{1}{2}m_2 L & \tfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}
\ddot{x} \\[4mm] \ddot{\theta}
\end{bmatrix}
+ \begin{bmatrix}
b & 0 \\[4mm]
0 & c
\end{bmatrix}\begin{bmatrix}
\dot{x} \\[4mm] \dot{\theta}
\end{bmatrix}
+\begin{bmatrix}
k & 0 \\[4mm] 0 & m_2g\tfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
x \\[4mm] \theta
\end{bmatrix}
=\begin{bmatrix}
0 \\[4mm] 0
\end{bmatrix}
\end{equation}
In case you want to keep the \verb|\dfrac|s, which is perfectly fine IMHO
\begin{equation} \label{eq:system_dynamics_2}
\begin{bmatrix}
m_1+m_2 & \dfrac{1}{2}m_2 L \\[4mm]
\dfrac{1}{2}m_2 L & \dfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}\vphantom{\dfrac{1}{2}}
\ddot{x} \\[4mm] \vphantom{\dfrac{1}{2}}\ddot{\theta}
\end{bmatrix}
+ \begin{bmatrix}
\vphantom{\dfrac{1}{2}}b & 0 \\[4mm]
\vphantom{\dfrac{1}{2}}0 & c
\end{bmatrix}\begin{bmatrix}
\vphantom{\dfrac{1}{2}}\dot{x} \\[4mm] \vphantom{\dfrac{1}{2}}\dot{\theta}
\end{bmatrix}
+\begin{bmatrix}
\vphantom{\dfrac{1}{2}}k & 0 \\[4mm] 0 & m_2g\dfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
\vphantom{\dfrac{1}{2}}x \\[4mm] \vphantom{\dfrac{1}{2}} \theta
\end{bmatrix}
=\begin{bmatrix}
\vphantom{\dfrac{1}{2}}0 \\[4mm] \vphantom{\dfrac{1}{2}}0
\end{bmatrix}
\end{equation}
\end{document}
答案2
处理异常尺寸比率 (ROUS) 的最简单方法是增加\arraystretch
(宏)。每行都以高度为 的支柱开始\arraystretch\ht\strutbox
。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{equation} \label{eq:system_dynamics_l}
\def\arraystretch{1.7}%
\begin{bmatrix}
m_1+m_2 & \dfrac{1}{2}m_2 L \\
\dfrac{1}{2}m_2 L & \dfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}
\ddot{x} \\ \ddot{\theta}
\end{bmatrix}
+ \begin{bmatrix}
b & 0 \\
0 & c
\end{bmatrix}\begin{bmatrix}
\dot{x} \\ \dot{\theta}
\end{bmatrix}
+\begin{bmatrix}
k & 0 \\ 0 & m_2g\dfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
x \\ \theta
\end{bmatrix}
=\begin{bmatrix}
0 \\ 0
\end{bmatrix}
\end{equation}
\end{document}
答案3
我提出了一个基于中等大小分数的解决方案nccmath
(在我看来,对于数值系数来说,\dfrac
太大,tfrac
太小)并\vphantom{\mfrac{1}{2}
在相关位置。我还加载了cellspace
一些垂直填充到矩阵行中:
\documentclass{article}
\usepackage{amsmath, nccmath}
\usepackage{array}
\usepackage[math]{cellspace}
\setlength{\cellspacetoplimit}{2pt}
\setlength{\cellspacebottomlimit}{2pt}
\newcommand*{\mystrut}{\vphantom{\mfrac{1}{2}}}
\begin{document}
\begin{equation} \label{eq:system_dynamics_l}
\begin{bmatrix}
m_1+m_2 & \mfrac{1}{2}m_2 L \\
\mfrac{1}{2}m_2 L & \mfrac{1}{2}m_2 L^2
\end{bmatrix}
\begin{bmatrix}
\ddot{x} \mystrut \\ \ddot{\theta} \mystrut
\end{bmatrix}
+ \begin{bmatrix}
b & 0 \mystrut \\
0 & c \mystrut
\end{bmatrix}
\begin{bmatrix}
\dot{x} \mystrut \\ \dot{\theta} \mystrut
\end{bmatrix}
+\begin{bmatrix}
k & 0 \mystrut \\ 0 & m_2g\mfrac{L}{2}
\end{bmatrix}\begin{bmatrix}
x \mystrut \\ \theta \mystrut
\end{bmatrix}
=\begin{bmatrix}
0 \mystrut \\ 0 \mystrut
\end{bmatrix}
\end{equation}
\end{document}