我正在尝试创建一个用于编写物理问题集的模板。很多这些问题集都涉及简短、简单的计算。例如:
我尝试用类似以下内容来排版此计算
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{enumerate}
\item
\begin{align*}
\omega_{0}&=\sqrt{k_{0}/M}\\
&=\sqrt{5/10}\\
&=\frac{1}{\sqrt{2}}
\end{align*}
\end{enumerate}
\end{document}
但最终结果看起来是这样的:
这对我来说看起来很糟糕——这是一个非常简短的计算,它看起来很荒谬地放在文档的中心,特别是前后都没有任何文字。
或者,我也可以只使用内联方程形式,
\documentclass{article}
\begin{document}
\begin{enumerate}
\item
$\omega_{0}=\sqrt{k_{0}/M}$\\
$=\sqrt{5/10}$\\
$=\frac{1}{\sqrt{2}}$
\end{enumerate}
\end{document}
但这会产生类似这样的结果,从而失去方程数组的良好格式。
本质上,我的目标是找到一种排版方程的方式,就好像它只是内联文本一样(即 $\omega_{0}$ 直接位于 1. 之后,就像内联形式一样),但保留方程数组的对齐和格式。我得到的最接近的方法是使用选项fleqn
和负数\vspace
将其放在同一行,但即使这样看起来也不正确,因为fleqn
只是使方程更多的向左,但实际上并没有与文本边距对齐。
答案1
内联数学模式是可行的。但您需要aligned
来自 » 的环境数学«。您可以将其相对于当前行对齐到顶部。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{mathtools} % loads »amsmath«
\begin{document}
\begin{enumerate}
\item
\(
\begin{aligned}[t]
\omega_{0} &= \sqrt{k_{0}/M}\\
&= \sqrt{5/10}\\
&= \frac{1}{\sqrt{2}}
\end{aligned}
\)
\end{enumerate}
\end{document}
答案2
对于这种简短的派生,堆栈通常可以满足您的需要。在本例中,出于演示目的,我将堆栈间隙设置为 4pt(默认值为 3pt),并以左对齐方式调用堆栈。
\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\stackMath
\setstackgap{S}{4pt}
\begin{document}
1. $
\omega_o \mathrel{\Shortunderstack[l]{= \sqrt{k_0/M}\\= \sqrt{5/10}\\
= \displaystyle\frac{1}{\sqrt{2}}}}
$
\end{document}