![让方程编号和枚举使用相同的计数器](https://linux22.com/image/393076/%E8%AE%A9%E6%96%B9%E7%A8%8B%E7%BC%96%E5%8F%B7%E5%92%8C%E6%9E%9A%E4%B8%BE%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E8%AE%A1%E6%95%B0%E5%99%A8.png)
我设法自定义了枚举,因此它模仿了数学方程编号的格式。现在,我想用枚举中的计数器替换数学方程计数器,(\thechapter.\arabic{enumi})
以便两者共享相同的编号。请注意,我想更改计数器align
而不是定义新环境。
例如,下面我希望方程编号为 (1.2) 而不是 (1.1)。
(我的用例是在文本中对方程式和其他文本命题进行编号,而不必仅使用带有文本的方程式或使用内联方程式进行枚举。)
\documentclass[fleqn,leqno]{book}
\usepackage{amsmath}
\setlength{\mathindent}{3\parindent}
\usepackage{enumitem}
\setlist{leftmargin=3\parindent,labelindent=3\parindent}
\setlist[enumerate]{%
leftmargin=3\parindent,%
align=left,%
labelwidth=3\parindent,%
labelsep=0pt%
}
\setlist[enumerate,1]{%
label=(\thechapter.\arabic{enumi}),
resume%
}
\begin{document}
\chapter{One}
\begin{enumerate}
\item Item one
\end{enumerate}
\begin{align}
y = x^2
\end{align}
\end{document}
答案1
为了使项目达到最佳对齐效果,我建议使用aligned
内联数学模式:
\documentclass[fleqn,leqno]{book}
\usepackage{amsmath}
\setlength{\mathindent}{3\parindent}
\usepackage{enumitem}
\setlist{leftmargin=3\parindent,labelindent=3\parindent}
\setlist[enumerate]{%
leftmargin=3\parindent,%
align=left,%
labelwidth=3\parindent,%
labelsep=0pt%
}
\setlist[enumerate,1]{%
label=(\thechapter.\arabic{enumi}),
resume%
}
\begin{document}
\chapter{One}
\begin{enumerate}
\item Item one
\item $\begin{aligned}[t]
y &= x^2 + 2x + 1\\
&= (x+1)^2
\end{aligned}$
\end{enumerate}
\end{document}
答案2
您可以\parbox
在数学模式下使用。
\documentclass{book}
\usepackage[fleqn,leqno]{amsmath}
\settowidth{\mathindent}{$(2.22)\quad$}
\usepackage{blindtext}% MWE only
\usepackage{showframe}% MWE only
\begin{document}
\chapter{One}
\begin{equation}
\parbox[t]{\dimexpr \textwidth-\mathindent}{\blindtext}
\end{equation}
\begin{align}
y &= x^2 \\
&= x\times x\notag
\end{align}
\end{document}
答案3
您也可以使用aliascnt
包。在下面的例子中,我们取消定义/删除计数器enumi
,然后将其重新定义为计数器的别名equation
。(免责声明:公然删除现有计数器似乎enumi
相当粗暴,我不确定这是否会产生任何不可预见的副作用。但是,我没有遇到任何问题,一切似乎都很顺利……)
\documentclass[fleqn,leqno]{book}
\usepackage{amsmath}
% ----------------------------------------
% ADDED THE FOLLOWING LINES TO YOUR MWE:
\usepackage{aliascnt}
\makeatletter
\let\c@enumi\relax
\makeatother
\newaliascnt{enumi}{equation}
% ----------------------------------------
\setlength{\mathindent}{3\parindent}
\usepackage{enumitem}
\setlist{leftmargin=3\parindent,labelindent=3\parindent}
\setlist[enumerate]{%
leftmargin=3\parindent,%
align=left,%
labelwidth=3\parindent,%
labelsep=0pt%
}
\setlist[enumerate,1]{%
label=(\thechapter.\arabic{enumi}),
resume%
}
\begin{document}
\chapter{One}
\begin{enumerate}
\item Item one
\end{enumerate}
\begin{align}
y = x^2
\end{align}
\end{document}