如果我输入
\begin{enumerate}
\item
\begin{align*}
eqn 1
eqn 2
\end{align*}
\end{enumerate}
标签将出现在第一行,而方程式将出现在后续行。如何使方程式与枚举标签在同一行开始?显然,我可以使用\vspace
和手动调整位置\rule
,但有没有更好的方法?
答案1
\listfiles
\documentclass{article}
\usepackage{amsmath}
\newcommand\Item[1][]{%
\ifx\relax#1\relax \item \else \item[#1] \fi
\abovedisplayskip=0pt\abovedisplayshortskip=0pt~\vspace*{-\baselineskip}}
\begin{document}
\begin{enumerate}
\item foo
\Item
\begin{align*}
eqn 1 \\
eqn 2
\end{align*}
\Item[a)]
\begin{align*}
eqn 1 \\
eqn 2
\end{align*}
\item bar
\end{enumerate}
\end{document}
答案2
这是我的个人品味,你可能不同意我的看法。这是我的经验法则。
enumerate
我们知道“列表”( 、、itemize
等)所有项目的第一行都是左对齐的。- 因此,如果项目以多行对齐方程式开头,请使用
aligned
环境(加上t
传递给其可选参数的项)而不是align*
。请参阅下面示例中的第二个项目。使用align*
使方程式居中,因此它打破了“列表”的本质。 - 但如果项目以句子开头,请使用
align*
环境。请参见下面给出的示例中我的第三项。使用align*
不会破坏“列表”的性质。
是否有意义?
\documentclass[preview,border=12pt,12pt]{standalone}% change it back to your own document class
\usepackage{amsmath}
\begin{document}
\begin{enumerate}
% number 1
\item $E\neq mc^2$ is the correct formula.
% number 2
\item
$
\!
\begin{aligned}[t]
(a+b)^2
&= (a+b)(a+b) && \text{by definition} \\
&= a^2 +ab +ab +b^2 && \text{using FOIL steps}\\
&= a^2 +2ab +b^2 && \text{simplified}
\end{aligned}
$
% number 3
\item Consider the following equations,
\begin{align*}
\vec \nabla \cdot \vec{B} &= 0\\
\vec \nabla \times \vec{E} &= -\frac{\partial \vec{B}}{\partial t}
\end{align*}
% number
\item $y=mx+c$ is a street line.
\end{enumerate}
\end{document}