方程式列表及相关含义 - 对齐环境

方程式列表及相关含义 - 对齐环境

我正在尝试编写一个居中的方程列表,并在其右侧显示相关含义。我正在使用它{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},因为上面既有“点”又有“帽子” ij看起来不太好

  • 使用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}

相关内容