Ни один из существующих примеров, которые я нашел для перечисления уравнений, не включает уравнения в окружении \align. Как я могу также включить оба типа уравнений в один и тот же список уравнений? Вот MWE:
\documentclass[english]{article}
\setcounter{secnumdepth}{2}
%\setcounter{tocdepth}{1}
\usepackage{amsmath}
\usepackage{tocloft}
\usepackage{xstring}
\usepackage[unicode=true, pdfusetitle,
bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
breaklinks=false,pdfborder={0 0 0},backref=false,colorlinks=false]
{hyperref}
\makeatletter
\numberwithin{equation}{section}
% we use this for our refernces as well
\AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}
% redefinition of \equation for convenience
\let\oldequation = \equation
\let\endoldequation = \endequation
\AtBeginDocument{\let\oldlabel = \label}% \AtBeginDocument because hyperref redefines \label
\newcommand{\mynewlabel}[1]{%
\StrBehind{#1}{eq:}[\Str]% remove "eq:" from labels
\myequations{\Str}\oldlabel{#1}}
\renewenvironment{equation}{%
\oldequation
\let\label\mynewlabel
}{\endoldequation}
% redefinition of \eqnarray for convenience
\let\oldeqnarray = \eqnarray
\let\endoldeqnarray = \endeqnarray
%\AtBeginDocument{\let\oldlabel = \label}% \AtBeginDocument because hyperref redefines \label
\newcommand{\mynewlabelarray}[1]{%
\StrBehind{#1}{eq:}[\Str]% remove "eq:" from labels
\myequations{\Str}\oldlabel{#1}}
\renewenvironment{eqnarray}{%
\oldeqnarray
\let\label\mynewlabelarray
}{\endoldeqnarray}
\newcommand{\listequationsname}{\normalsize List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}{\protect\numberline{\theequation}#1}}
\setlength{\cftmyequationsnumwidth}{3em}
\makeatother
\begin{document}
%\tableofcontents
\listofmyequations
\section{Section title}
\begin{equation}
F=q[E+(v\times B)]
\label{eq:Force}
\end{equation}
\begin{equation}
\tau=F\times r
\label{eq:Torque}
\end{equation}
If the electrical force in \ref{eq:Force} is ignored,
and the remaining magnetic force is used in \ref{eq:Torque},
with the assumption that $v$ is perpendicular to $B$, we find that
\begin{equation}
\tau=qvBrsin\theta
\label{eq:Magnetic}
\end{equation}
\begin{align}
\min_{u_{i}(t),y_i, i=1...N}\!\!\!\!\!\! J(u_i(t),y_i) &:= \sum_{i=1}^N \int_0^{T} R_i(u_{i}(t),t) dt \label{eq:objective function}\\
+& \xi \int_{0}^{T} \left(\theta\frac{M - I(t)}{M}K(t) - D(t)\right)^2 dt + \sum_{i=1}^N \gamma_i y_i \notag\\
+ & \sum_{i=1}^N p_{i} \int_{T_i}^{T} u_i(t-T_i)dt \notag\\
+& h\int_{0}^T \left[\theta\frac{M - I(t)}{M}K(t) - D(t)\right]^+ dt, \notag
\end{align}
subject to
\begin{align}
K(t)& = \sum_{i=1}^N u_i(t-T_i), & \quad t\in [0,T] \label{eq:2} \\
u_i(t) &\le % \theta_i S_i(t) y_i =
\theta_i (M_i - I_i(t)) y_i, & \ \ i = 1\ldots N \quad t\in [0,T-T_i] \label{eq:ui}\\
u_i(t) & = 0, & i = 1\ldots N \quad t\in [T-T_i,T] \label{eq:uio}\\
\dot{I}_i(t)& = f_i(I_i(t)), & i = 1 \ldots N \quad t\in [0,T]& \label{eq:dotIi}\\
\dot{I}(t)& = f(I(t)), &\quad t\in [0,T] \label{eq:dotI}\\
u_i(t) & \ge 0, & i = 1 \ldots N \quad t\in [0,T]& \label{eq:const5}\\
K(t)& \ge 0, &\quad t\in [0,T]& \\
y_i &\in \{0,1\}, & i = 1 \ldots N& \label{eq:const6}
\end{align}
%where
\begin{equation}\label{eq:capacity constraint}
u^{j}_i(t) \leq Min_{p\in C^{j}_{i}} \sum_{k \in {K^{j}_{ip}}} u^{j+1}_k(t-T_k)
\end{equation}
\end{document}
решение1
Я не думаю, что это хорошая идея изменять \label
макрос вручную, так как он используется и переопределяется довольно многими другими пакетами, включая пакеты hyperref
и cleveref
. Я бы просто применил \myequations
директивы непосредственно к тем уравнениям, которые должны быть перечислены в Списке уравнений. (При использовании с gather
и align
окружениями, похоже, что \myequations
директивы должны быть выданыпоследирективы переноса строки. Не уверен, почему.)
О, ипожалуйста, не используйте eqnarray
окружение; используйте align
вместо этого.
\documentclass[english]{article}
\setcounter{secnumdepth}{2}
\usepackage{mathtools} % for \coloneqq and \mathclap macros
\usepackage{tocloft}
\usepackage[unicode=true, pdfusetitle, bookmarks=true,
bookmarksnumbered=false, bookmarksopen=false,
breaklinks=false, backref=false,
colorlinks=true,allcolors=black]
{hyperref}
\usepackage[noabbrev]{cleveref}
\counterwithin{equation}{section}
\newcommand{\listequationsname}{\normalsize List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}%
{\protect\numberline{\theequation}#1}}
\setlength{\cftmyequationsnumwidth}{2.5em}
\begin{document}
%\tableofcontents
\listofmyequations
\allowdisplaybreaks
\section{Section title}
\begin{gather}
F=q[E+(v\times B)]
\label{eq:Force} \\ \myequations{Force}
\tau=F\times r
\label{eq:Torque}
\end{gather} \myequations{Torque}
If the electrical force in \cref{eq:Force} is ignored, and
if the remaining magnetic force is used in \cref{eq:Torque},
with the assumption that $v$ is perpendicular to~$B$, we
find that
\begin{equation}
\tau=qvBr\sin\theta
\label{eq:Magnetic}
\myequations{Magnetic}
\end{equation}
\begin{equation}
\label{eq:objective function}
\myequations{Objective function}
\begin{aligned}[t]
\smash[b]{\min_{\mathclap{%
\substack{u_{i}(t),y_i,\\ i=1,\dots,N}}}}
\,J(u_i(t),y_i)
&\coloneqq \sum_{i=1}^N \int_0^{T} R_i(u_{i}(t),t)\, dt
\\
&\quad+ \xi \int_{0}^{T} \left(\theta\frac{M - I(t)}{M}K(t) - D(t)\right)^{\!2} dt
+ \sum_{i=1}^N \gamma_i y_i \\
&\quad+ \sum_{i=1}^N p_{i} \int_{T_i}^{T} u_i(t-T_i)\,dt\\
&\quad+ h\int_{0}^T \left[\theta\frac{M - I(t)}{M}K(t) - D(t)\right]^+ dt,
\end{aligned}
\end{equation}
subject to
\begin{align}
K(t) &= \sum\nolimits_{i=1}^N u_i(t-T_i),
&& t\in [0,T]
\label{eq:2} \\
u_i(t) &\le % \theta_i S_i(t) y_i =
\theta_i (M_i - I_i(t)) y_i,
&& i = 1,\ldots, N,
\quad t\in [0,T-T_i]
\label{eq:ui} \\ \myequations{ui}
u_i(t) &= 0,
&& i = 1,\ldots, N,
\quad t\in [T-T_i,T]
\label{eq:uio} \\ \myequations{uio}
\dot{I}_i(t) &= f_i(I_i(t)),
&& i = 1,\ldots,N,
\quad t\in [0,T]
\label{eq:dotIi} \\ \myequations{dotIi}
\dot{I}(t) &= f(I(t)),
&& t\in [0,T]
\label{eq:dotI}\\ \myequations{dotI}
u_i(t) &\ge 0,
&& i = 1,\ldots,N,
\quad t\in [0,T]
\label{eq:const5} \\ \myequations{const5}
K(t) &\ge 0,
&& t\in [0,T] \\
y_i &\in \{0,1\},
&& i = 1,\ldots,N
\label{eq:const6}
\end{align} \myequations{const6}
where
\begin{equation}
\label{eq:capacity constraint}
\myequations{Capacity constraint}
u^{j}_i(t) \leq \min_{p\in C^{j}_{i}} \sum_{k \in {K^{j}_{ip}}} u^{j+1}_k(t-T_k)
\end{equation}
\end{document}
решение2
Как прокомментировал Мико, вам не следует переопределять \label
. Если вы хотите избежать предоставления метки, вы можете создать простую команду, которая делает и то, и другое. Я использовал \ref
здесь, чтобы подобрать правильный номер в выравниваниях ams.
\documentclass[english]{article}
\setcounter{secnumdepth}{2}
\usepackage{mathtools} % for \coloneqq and \mathclap macros
\usepackage{tocloft}
\usepackage[unicode=true, pdfusetitle, bookmarks=true,
bookmarksnumbered=false, bookmarksopen=false,
breaklinks=false, backref=false,
colorlinks=true,allcolors=black]
{hyperref}
\usepackage[noabbrev]{cleveref}
\counterwithin{equation}{section}
\newcommand{\listequationsname}{\normalsize List of Equations}
\newlistof{myequations}{equ}{\listequationsname}
\newcommand{\myequations}[1]{%
\addcontentsline{equ}{myequations}%
{\protect\numberline{\ref{eq:#1}}#1}}
\setlength{\cftmyequationsnumwidth}{2.5em}
\newcommand\myeq[1]{\label{eq:#1}\myequations{#1}}
\begin{document}
%\tableofcontents
\listofmyequations
\allowdisplaybreaks
\section{Section title}
\begin{gather}
F=q[E+(v\times B)]
\myeq{Force} \\
\tau=F\times r
\myeq{Torque}
\end{gather}
If the electrical force in \cref{eq:Force} is ignored, and
if the remaining magnetic force is used in \cref{eq:Torque},
with the assumption that $v$ is perpendicular to~$B$, we
find that
\begin{equation}
\tau=qvBr\sin\theta
\myeq{Magnetic}
\end{equation}
\begin{equation}
\myeq{objective function}
\begin{aligned}[t]
\smash[b]{\min_{\mathclap{%
\substack{u_{i}(t),y_i,\\ i=1,\dots,N}}}}
\,J(u_i(t),y_i)
&\coloneqq \sum_{i=1}^N \int_0^{T} R_i(u_{i}(t),t)\, dt
\\
&\quad+ \xi \int_{0}^{T} \left(\theta\frac{M - I(t)}{M}K(t) - D(t)\right)^{\!2} dt
+ \sum_{i=1}^N \gamma_i y_i \\
&\quad+ \sum_{i=1}^N p_{i} \int_{T_i}^{T} u_i(t-T_i)\,dt\\
&\quad+ h\int_{0}^T \left[\theta\frac{M - I(t)}{M}K(t) - D(t)\right]^+ dt,
\end{aligned}
\end{equation}
subject to
\begin{align}
K(t) &= \sum\nolimits_{i=1}^N u_i(t-T_i),
&& t\in [0,T]
\label{eq:2} \\
u_i(t) &\le % \theta_i S_i(t) y_i =
\theta_i (M_i - I_i(t)) y_i,
&& i = 1,\ldots, N,
\quad t\in [0,T-T_i]
\myeq{ui} \\
u_i(t) &= 0,
&& i = 1,\ldots, N,
\quad t\in [T-T_i,T]
\myeq{uio} \\
\dot{I}_i(t) &= f_i(I_i(t)),
&& i = 1,\ldots,N,
\quad t\in [0,T]
\myeq{dotIi} \\
\dot{I}(t) &= f(I(t)),
&& t\in [0,T]
\myeq{dotI}\\
u_i(t) &\ge 0,
&& i = 1,\ldots,N,
\quad t\in [0,T]
\myeq{const5} \\
K(t) &\ge 0,
&& t\in [0,T] \\
y_i &\in \{0,1\},
&& i = 1,\ldots,N
\myeq{const6}
\end{align}
where
\begin{equation}
\myeq{capacity constraint}
u^{j}_i(t) \leq \min_{p\in C^{j}_{i}} \sum_{k \in {K^{j}_{ip}}} u^{j+1}_k(t-T_k)
\end{equation}
\end{document}