设置计数器但用于逐项列出

设置计数器但用于逐项列出

我想要一个 itemize 环境,其中每个项目的方程式标签都会发生变化。例如,在第一个项目中,我希望所有方程式都标记为 $(1.x)$,依此类推,其中 $x$ 在每个新项目中重置。有没有办法用某种形式的计数器来实现这一点?我以前曾为部分做过这件事,但找不到关于为 itemize 做类似事情的文献。

当我天真地仅使用 \setcounter{section}{item number} 时,我获得了第一个条目的正确标签,但 $x$ 从未重置。

编辑:

我主要是在解决问题,itemize 的字体对我来说比较合适。我基本上是这么写的:

\documentclass{article}
\begin{document}
\begin{itemize}
\item[\textbf{Problem 1:}] Insert problem statement

Insert solution 1

\item[\textbf{Problem 2:}] Insert problem statement

Insert solution 2

\end{itemize}
\end{document}

我希望我在每个问题部分写的方程式有不同的编号,这样我的方程式就不会堆积起来并且易于引用。

答案1

如果我理解正确的话,您正在寻找一个枚举列表(而不是逐项列表),其中项目内的方程式将相对于该项目进行编号。如果这是正确的,那么以下内容可能就是您想要的。

如果您确实想要一个逐项列表但使用相同的方程式,您可以将代码更改labellabel=\textbullet

\documentclass{article}
\usepackage{enumitem}
\usepackage{amsmath}
\newlist{eqlist}{enumerate}{1}
\setlist*[eqlist]{leftmargin=*,label=\bfseries Example \arabic*,ref=\arabic*}
\counterwithin{equation}{eqlisti}
\begin{document}
\begin{eqlist}
\item
\begin{equation}
f = ma
\end{equation}
\begin{equation}
e^{ix} = \cos x + i \sin x
\end{equation}
\item
\begin{equation}
x = \frac{-b \pm \sqrt{b^{2}-4ac}}{2a}
\end{equation}
\end{eqlist}
\end{document}

代码输出

如果您想使用实际itemize环境来执行此操作,如您在评论中所建议的那样,您可以创建一个计数器来构建方程式编号。在这里,我创建了一个\probitem命令来引入问题编号(因为我假设这些编号不一定按顺序排列)。这似乎更符合您的要求。

\documentclass{article}
\usepackage{enumitem}
\usepackage{calc}
\usepackage{etoolbox}
\usepackage{amsmath}
\newcounter{myitemcounter}
\counterwithin{equation}{myitemcounter}
\NewDocumentCommand{\probitem}{m}{\setcounter{myitemcounter}{#1-1}\item[Problem #1]}
\begin{document}
\begin{itemize}[before=\setcounter{myitemcounter}{0}\pretocmd{\item}{\stepcounter{myitemcounter}}{}{},wide,font=\bfseries]
\probitem{1}
\begin{equation}
f = ma
\end{equation}
\begin{equation}
e^{ix} = \cos x + i \sin x
\end{equation}
\probitem{3}
\begin{equation}
x = \frac{-b \pm \sqrt{b^{2}-4ac}}{2a}
\end{equation}
\end{itemize}

\end{document}

第二个示例的输出

相关内容