我想要一个 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
如果我理解正确的话,您正在寻找一个枚举列表(而不是逐项列表),其中项目内的方程式将相对于该项目进行编号。如果这是正确的,那么以下内容可能就是您想要的。
如果您确实想要一个逐项列表但使用相同的方程式,您可以将代码更改label
为label=\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}