我正在尝试获得我的三个方程的以下对齐
我能做的最好的事情就是
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[latin1]{inputenc}
\begin{document}
\maketitle
\begin{align*}
r(\theta) & = & (x_0 + a \cos x) i & + & (y_0 + a \sin x) j & \\
r'(\theta) & = & - a \sin x i & + & (a \cos x) j & \\
F(r(\theta)) & = & 0 i & + & (x_0 + a \sin x) j &
\end{align*}
\end{document}
然而,这在等式中留下了大量的空白。
答案1
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[latin1]{inputenc}% really? that is very 20th century, why not utf8?
\begin{document}
\begin{alignat*}{3}
r(\theta) ={}&& (x_0 + a \cos x) i + {}&& (y_0 + a \sin x) j \\
r'(\theta) ={}&& - a \sin x i + {}&& (a \cos x) j \\
F(r(\theta)) ={}&& 0 i + {}&& (x_0 + a \sin x) j
\end{alignat*}
\end{document}
alignat
是 的变体align
,可避免添加额外空间。您需要&&
,因此您只使用右对齐的列,而不是左对齐的列,然后您需要在 之后{}
保留正确的间距,因为它们在 之前而不是之后。=
+
&
答案2
您也可以使用来array
实现这一点。
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\newcommand{\ii}{\mathbf{\,i}}
\newcommand{\jj}{\mathbf{\,j}}
\[
\begin{array}{r @{{}={}} r @{} r}
\mathbf{r}(\theta) & (x_0 + a \cos x) \ii +{} & (y_0 + a \sin x) \jj \\
\mathbf{r}'(\theta) & - a \sin x \ii +{} & (a \cos x) \jj \\
\mathbf{F}(\mathbf{r}(\theta)) & 0 \ii +{} & (x_0 + a \sin x) \jj
\end{array}
\]
\end{document}