我正在尝试编写一个居中的方程列表,并在其右侧显示相关含义。我正在使用它{align*}
来完成这项工作,但在尝试编译文档时出现了几个错误。以下是代码:
\documentclass{report}
\usepackage{mathtools} %which includes also amsmath package
\begin{document}
\begin{align*}
&\textbf{r} = x\hat{i} + y\hat{j} + z\hat{k} \quad && \text{radius vector}\\
&\textbf{v} = v_x\hat{i} + v_y\hat{j} + v_z\hat{k} \quad && \text{velocity vector}\\
&\textbf{g} = -g\hat{k} \quad && \text{gravity acceleration}\\
&\hat{u} = u_x + u_y + u_z \quad && \text{unit thrust vector}
\end{align*}
\end{document}
我处理的错误类型是:
对齐制表符 & 位置错误
和
\hat 仅在数学模式下允许
我该如何解决这个问题?谢谢!
更新
感谢@campa 向我指出错误。我遇到了另一个与对齐相关的问题。我想减少每行方程式和相应文本之间的空间。以下是实际结果:
我该怎么做?
答案1
一些建议和意见。(前三个已在上面的评论部分中提出。)
不允许在 display-math 环境中出现全空行
不用
\mathbf
作\textbf
数学材料将数学块中的材料与
=
符号对齐写成
\hat{\imath}
and\hat{\jmath}
,而不是\hat{i}
and\hat{j}
,因为上面既有“点”又有“帽子”i
,j
看起来不太好使用
alignat*
而不是align*
环境,以便更好地控制左侧数学块和右侧文本块之间的水平距离在最后一行插入一条
\vphantom{\hat{k}}
指令,使所有四行的行距相等。(或者,将\hat{k}
第 2 行和第 3 行的 实例更改为\smash{\hat{k}}
。)
\documentclass{report}
\usepackage{amsmath} % for 'alignat*' environment
\begin{document}
\begin{alignat*}{2}
\mathbf{r} &= x\hat{\imath} + y\hat{\jmath} + z\hat{k}
&& \text{radius vector} \\
\mathbf{v} &= v_x\hat{\imath} + v_y\hat{\jmath} + v_z\hat{k}
&\qquad& \text{velocity vector} \\
\mathbf{g} &= -g\hat{k}
&& \text{gravity acceleration}\\
\hat{u} &= u_x + u_y + u_z\vphantom{\hat{k}}
&& \text{unit thrust vector}
\end{alignat*}
\end{document}