通过嵌套枚举块保持方程对齐

通过嵌套枚举块保持方程对齐

我想写一些类似于数学试卷的东西,每个问题(标记为 1、2、3 等)都有子问题(标记为 a、b、c 等)。如下图所示,每个子问题都会在新行上,标签将共享相同的缩进级别。它们会有一些介绍性文字,然后是一些方程式(其中包含=符号)。 在此处输入图片描述

然而,与图片不同的是,我希望所有的=符号都在整个文档中排列整齐。

我尝试过各种方法来组合enumeratealign阻止,但都没有成功。我该如何实现这样的结果?

答案1

正如@Bernard 在评论中指出的那样,在\items 中第一次出现某个=符号时对齐所有等式在语义上可能没有意义。

一种更简单且在审美上可能更有吸引力的方法是让所有显示的方程式从左边距偏移固定宽度。这可以通过使用amsmath选项加载包来实现fleqn

如果你不想抵消全部从左边距显示固定数量的方程式,但仅限于环境中的方程式enumerate,不指定fleqn选项。相反,正如@Bernard 也指出的那样,加载nccmath包并将[...\]块“包装”在\begin{fleqn}[2em]\end{fleqn}语句中。如果您好奇:该[2em]选项用于提供固定的水平偏移量2em(等于\qquad)。如果您根本不想要偏移,即如果方程式应该与左边缘齐平,只需省略该[2em]选项。

在此处输入图片描述

\documentclass{article}
\usepackage[fleqn]{amsmath}
\renewcommand{\familydefault}{\sfdefault} % optional
\usepackage{enumitem}
\setlist[enumerate,1]{label=\textbf{\arabic*}}
\setlist[enumerate,2]{label=\textbf{(\alph*)}}

\begin{document}

\begin{enumerate}[start=7]
\item
\begin{enumerate}
\item By writing $\sec x =(\cos x)^{-1}$, use the chain rule \dots
    \[ 
    \frac{\mathrm{d}y}{\mathrm{d}x}=\sec x\tan x
    \]
    \hfill{\bfseries[2 marks]}
\item The function $f$ is defined by
    \[
    f(x)=2\tan x-3\sec x,\quad\text{for}\quad 0<x<\frac{\pi}{2}
    \]
    Find the value of the $y$-coordinate of the stationary point 
    of the graph of $y=f(x)$, giving \dots
    \par\hfill{\bfseries[6 marks]}
\end{enumerate}
\end{enumerate}
\end{document}

相关内容