我正在创建一个包含正数和负数的枚举列表,并希望这些数字彼此对齐,即全部位于同一列中。我还有第二个包含小数的列表,我想将小数点对齐。我尝试在枚举列表中使用 \begin{align},如下所示
\begin{enumerate}
\begin{align*}[t]
\item $-&2$
\item $3$
\item $-18$
\item $83.2$
\item $-112.2$
\end{align*}
\end{enumerate}
但它给了我错误 \begin{aligned} 仅在数学模式下允许。我已加载 amsmath 包,并使用 xelatex 进行编译。
编辑:即使我已经注释掉问题区域,xelatex 现在仍然出现此错误。
答案1
\item
您不能在数学模式下使用,因此您的构造:
\begin{enumerate}
\begin{align*}[t]
\item $-&2$
\item $3$
...
\end{enumerate}
会产生错误。
为了获得所需的排列(具有枚举行的表格状材料,以及某些列的小数点对齐),您可以使用环境tabular
;可以使用siunitx
包裹:
\documentclass{article}
\usepackage{siunitx}
\newcounter{tmp}
\begin{document}
\noindent\begin{tabular}{>{\stepcounter{tmp}\thetmp}lSS[table-format = 3.4]}
& 6 & 2.3456 \\
& -7 & 34.2345 \\
& 20 & -6.7835 \\
& -12 & 90.473 \\
\end{tabular}
\end{document}
这里还有另外两个选项:一是仅使用align
(来自amsmath
包),另一个是使用标准tabular
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\newcounter{tmp}
\begin{document}
\noindent Using \texttt{align*}:
\begin{align*}
1 && 6 && 2.3456 \\
2 && -7 && 34.2345 \\
3 && 20 && -6.7835 \\
4 && -12 && 90.473\phantom{0} \\
5 && 10 && 3.4\phantom{000}
\end{align*}
\noindent Using \texttt{tabular}:
\setcounter{tmp}{0}
\noindent\begin{tabular}{@{}>{\stepcounter{tmp}\thetmp}lrr@{.}l}
& 6 & 2 &3456 \\
& -7 & 34 & 2345 \\
& 20 & -6 & 7835 \\
& -12 & 90 & 473 \\
& 10 & 3 & 4
\end{tabular}
\end{document}
请注意,第一个解决方案(使用siunitx
)所需的工作量较少。