我已经在本网站和其他地方进行了搜索,但仍有一些疑问。
这是我的代码:
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\left( \dfrac{d^2\overrightarrow{OM}}{dt^2} \right)_{\mathcal{R}_A}
&= \left( \dfrac{d^2\overrightarrow{OO'}}{dt^2} \right)_{\mathcal{R}_A} +\left( \dfrac{d^2\overrightarrow{O'M}}{dt^2} \right)_{\mathcal{R}_A} \\
&= \overrightarrow{a_a}(O') + \left( \dfrac{d^2}{dt^2} \left( x' \overrightarrow{u'_x}+y' \overrightarrow{u'_y}+z' \overrightarrow{u'_z} \right) \right) \\
&= \overrightarrow{a_a}(O') + x'\left( \dfrac{d^2 \overrightarrow{u'_x} }{dt^2} \right)_{\mathcal{R}_A}+ 2 \dot{x} \left( \dfrac{d \overrightarrow{u'_x} }{dt} \right)_{\mathcal{R}_A} + \ddot{x}'\overrightarrow{u'_x} \\
&\mathrel{\hphantom{= \overrightarrow{a_a}(O') }} +\, y'\left( \dfrac{d^2 \overrightarrow{u'_y} }{dt^2} \right)_{\mathcal{R}_A}+ 2 \dot{y} \left( \dfrac{d \overrightarrow{u'_y} }{dt} \right)_{\mathcal{R}_A} + \ddot{y}'\overrightarrow{u'_y} \\
& \mathrel{\hphantom{= \overrightarrow{a_a}(O') }} +\, z'\left( \dfrac{d^2 \overrightarrow{u'_z} }{dt^2} \right)_{\mathcal{R}_A}+ 2 \dot{z} \left( \dfrac{d \overrightarrow{u'_z} }{dt} \right)_{\mathcal{R}_A} + \ddot{z}'\overrightarrow{u'_z}
\end{align*}
\end{document}
因此,我对对齐有一些疑问,这些问题围绕着这一点:使用 ,\mathrel{\hphantom}
我设法对齐了我的第一个 + '(尽管似乎存在微小的错位,如果有人提出建议,我会很高兴),但接下来的术语仍然没有对齐。为什么会这样?对于我的第三行来说,情况似乎更糟,它似乎本身与第二行不对齐。在这些行中,为什么我必须在\,
第一个显示的 + 行之后添加一个,尽管它已经在第一行中被考虑在内了?
答案1
\hphantom
一个没有,但有 的解决方案alignat*
。我借此机会用包改进了向量的外观esvect
,并用包简化了导数的代码esdiff
:它有一个\diff*
命令,带有一个可选参数(导数的顺序)和 3 个强制参数:要导出的函数、变量的名称和求导数的点。偏导数也有一个类似的diffp*
命令。
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{mathtools, esvect}%
\usepackage{esdiff}
\begin{document}
\begin{alignat*}{4}
\diff*{\vv{OM}}{t}{\mathcal{R}_A}
&=\mathrlap{\diff*[2]{\vv{OO'}}{t}{\mathcal{R}_A}+\diff*[2]{\vv{O'M}}{t}{\mathcal{R}_A}} \\
&=\vv{a_a}(O') & & + \mathrlap{\diff[2]{}{t} \Bigl( x' \vv{u'_x}+y' \vv{u'_y}+z' \vv{u'_z} \Bigr)} \\
& & & + x'\diff*[2]{\vv{u'_x}}{t}{\mathcal{R}_A} & & + 2 \dot{x} \diff*{\vv{u'_x} }{t}{\mathcal{R}_A} && + \ddot{x}'\vv{u'_x} \\
& & & + y'\diff*[2]{\vv{u'_y}}{t}{\mathcal{R}_A} & & + 2 \dot{y}\diff*{\vv{u'_y}}{t}{\mathcal{R}_A} & &+ \ddot{y}'\vv{u'_y} \\
& & &+ z'\diff*[2]{\vv{u'_z}}{t}{\mathcal{R}_A} & & + 2 \dot{z}\diff*{\vv{u'_z}}{t}{\mathcal{R}_A} & & + \ddot{z}'\vv{u'_z}
\end{alignat*}
\end{document}
答案2
拆分 \hphantom,使得只有等号位于 \mathrel 中:
\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage{amsmath,tikz}
\begin{document}
\begin{align*}
x &= \overrightarrow{a_a}(O') + x'\\
&\mathrel{\hphantom{= \overrightarrow{a_a}(O') }} +\, y'\\
&\mathrel{\hphantom{=}} \hphantom{\overrightarrow{a_a}(O')} + y'\\
&\mathrel{\hphantom{=}} \hphantom{\overrightarrow{a_a}(O')} \tikz[overlay]\draw[red](6pt,0)--++(0,3);+ z'
\end{align*}
\end{document}