我想以这种形式对项目中的方程进行编号:(item-num.number-in-item)
其中item-num
是项目编号(第一项为 1,第二项为 2),number-in-item
是项目内的编号。输入新项目时,会number-in-item
自动重置为 0。例如,对于 latex 代码:
\begin{itemize}
\item[\bf 1.] This is item 1. This is item 1.
\begin{equation} a=b+c \end{equation}
This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.
\begin{equation} d=e+f \end{equation}
This is item 1. This is item 1
\item[\bf 2.] This is item 2. This is item 2.This is item 2.
\begin{equation} g=h+i \end{equation}
This is item 2. This is item 2
\end{itemize}
,输出应为:
1.这是第 1 项。 这是第 1 项。
a=b+c (1.1)
这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。这是项目 1。
d=e+f (1.2)
2.这是第 2 项。这是第 2 项。这是第 2 项。
g=h+i (2.1)
这是第 2 项。 这是第 2 项
如何编写 latex 来实现这样的编号?谢谢。
答案1
您可以使用\numberwithin
命令 from在计数器内对计数器amsmath
进行编号,该计数器是枚举环境中项目的计数器。例如,equation
enumi
\documentclass{article}
\usepackage{amsmath}
\usepackage{enumitem}
\numberwithin{equation}{enumi}
\begin{document}
\begin{enumerate}[label={\bfseries\arabic*.}, ref=\arabic*]
\item This is item 1. This is item 1.
\begin{equation} a=b+c \end{equation}
This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.This is item 1. This is item 1.
\begin{equation} d=e+f \end{equation}
This is item 1. This is item 1
\item This is item 2. This is item 2.This is item 2.
\begin{equation} g=h+i \end{equation}
This is item 2. This is item 2
\end{enumerate}
\end{document}
答案2
除了 itemize 没有编号外,一切正常。不需要任何包。
\documentclass{article}
\makeatletter
\@addtoreset{equation}{enumi}
\makeatother
\renewcommand{\theequation}{\theenumi.\arabic{equation}}
\begin{document}
\begin{enumerate}
\item test
\begin{equation} x=a \end{equation}
\begin{equation} x=b \end{equation}
\item test
\begin{equation} x=c \end{equation}
\begin{equation} x=d \end{equation}
\end{enumerate}
\end{document}