此代码导致 LaTeX 抛出错误:Missing } inserted
。这似乎是因为我在命令&
中放置了\frac
(第 4 行)。我觉得应该可以实现我的目标。
\begin{align*}
A & + B \\
\frac{A}{C} & + \frac{B}{C} \\
\frac{A & + B}{C}
\end{align*}
以前有人遇到过这个问题吗?你是怎么解决的?
答案1
在&
align
指定对齐点。这些可以不是在 之内\frac
。因此,根据您是想在表达式的右侧对齐,还是在符号上对齐+
,您可以使用以下代码来生成:
第二种情况有点棘手。我解决这个问题的方法是使用\makebox
保留一个等于其中最大文本的空间,并使用选项[c]
将文本居中。但是,如果你想要所有三个+
都对齐,那么请注意两边的间距=
并不相同。
在这种特殊情况下,您可以选择不对齐+
第一个表达式的符号,这样所有三个的间距都是正确的(如上面的第三幅图所示)。因此,在对齐三个和在等号的两侧获得正确的间距=
之间需要权衡。+
\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}
\begin{document}
If you want the right side aligned:
\begin{align*}
A &+ B \\
\frac{A}{C} &+ \frac{B}{C} \\
\frac{A + B}{C} &+
\end{align*}
%
\newcommand*{\LargeFrac}{\frac{A}{C} + \frac{B}{C}}%
\newcommand*{\Center}[1]{\makebox[\widthof{$\LargeFrac$}][c]{$\displaystyle #1$}}%
%
\noindent
If you want the plus sign aligned:
\begin{align*}
\Center{A + B} & = x\\
\Center{\frac{A}{C} + \frac{B}{C}} & = x \\
\Center{\frac{A + B}{C}} & = x
\end{align*}
%
If you want correct spacing around the equal:
\begin{align*}
A + B & = x\\
\Center{\frac{A}{C} + \frac{B}{C}} & = x \\
\Center{\frac{A + B}{C}} & = x
\end{align*}
\end{document}
答案2
也许你可以使用`数组的派生:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\begin{align*}
\begin{array}{@{}r@{\mathrel{+}}l@{}}
A & B \\
\frac{A}{C} & \frac{B}{C} \\
\scriptstyle A & \scriptstyle B \\[-2.5pt]\cline{1-2}
\multicolumn{2}{c}{\scriptstyle C}
\end{array}
\end{align*}
\end{document}