使用此代码
\begin{align*}
a_{11}x_1 + \ldots + a_{1n}x_n &= b_1\\
\vdots + \vdots + \vdots &= \vdots\\
a_{n1}x_1 + \ldots + a_{nn}x_n &= b_n
\end{align*}
给出
所以我尝试在它们&
周围添加更多+
内容,以便正确对齐,即
\begin{align*}
a_{11}x_1 &+ \ldots &+ a_{1n}x_n &= b_1\\
\vdots &+ \vdots &+ \vdots &= \vdots\\
a_{n1}x_1 &+ \ldots &+ a_{nn}x_n &= b_n
\end{align*}
不幸的是,这并没有产生想要的行为:
我不知道我做错了什么,或者如何才能让所有东西+
都正确对齐。你能给我指出正确的方向吗?
答案1
我建议您使用alignat
环境而不是align
:
要使 居中,vdots
您可以使用\makebox
我已将其包装在\CenterWithin
宏中的 。这会产生:
笔记:
- 环境
alignat
产生对左r
对齐l
,因此需要双精度&&
来产生左对齐(即跳过该r
列)。
代码:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{alignat*}{5}
a_{11}x_1 &{}+ \ldots &&{}+ a_{1n}x_n &&= b_1\\
\vdots &{}+ \vdots &&{}+ \vdots &&= \vdots\\
a_{n1}x_1 &{}+ \ldots &&{}+ a_{nn}x_n &&= b_n
\end{alignat*}
\end{document}
代码:居中 vdots
\documentclass{article}
\usepackage{mathtools}
\newcommand*{\CenterWithin}[2]{%
%% #1 = content to typset
%% #2 = content whose width is used to determine where the center is
\makebox[\widthof{$#2$}][c]{$#1$}%
}
\newcommand*{\VdotsC}{\CenterWithin{\vdots}{\ldots}}
\begin{document}
\begin{alignat*}{5}
a_{11}x_1 &{}+ \ldots &&{}+ a_{1n}x_n &&= b_1\\
\CenterWithin{\vdots}{a_{11}x_1} &{}+ \VdotsC
&&{}+ \CenterWithin{\vdots}{a_{1n}x_n} &&= \CenterWithin{\vdots}{b_1} \\
a_{n1}x_1 &{}+ \ldots &&{}+ a_{nn}x_n &&= b_n
\end{alignat*}
\end{document}