如何对“对齐”环境中的方程式进行编号,以及如何使用“\cref”进行交叉引用?

如何对“对齐”环境中的方程式进行编号,以及如何使用“\cref”进行交叉引用?

通过最小工作示例来说明该问题

我在文件中保存了以下 LaTeX 代码~/Test.tex

\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{cleveref}
\begin{document}
\begin{equation}\label{eq:first}
a + b = c
\end{equation}

\begin{multline*}
\begin{aligned}
\forall B\in\mathcal{P}\mathbb{Z}\forall a\in\mathbb{Z}\forall v\in\mathbb{N}_1\forall n\in\mathbb{N}_1&\bullet\\
\Big(\forall d\in D^n\exists w\in\mathbb{Z}^n&\bullet\\
&\phantom{\wedge}\enspace|w|\in P[v\,..\,v+n)\,\\
&\wedge\enspace\big(\forall k\in[1\,..\,n]\bullet d_k(a+\sum_{i=1}^kw_i)>0\big)\,\\
&\wedge\enspace a+\sum w\in B\Big)
\end{aligned}\\
\implies\forall C\in R_{a,v}[D^n]\bullet C\cap B\neq\emptyset
\end{multline*}

\begin{equation}\label{eq:last}
x + y = z
\end{equation}

References: \eqref{eq:first}, \crefrange{eq:first}{eq:last}
\end{document}

然后我在终端中执行了以下命令。

> cd ~
> lualatex Test
> lualatex Test

结果,文件~/Test.pdf创建完毕。在 PDF 查看器中打开时,文件显示如下。

实际代码的输出

问题

我想使用与编号外部方程相同的计数器对代码中包含命令的三行进行编号\wedge。此外,我希望能够标记这些方程,并通过两者\eqref以及cleveref包引用它们。我该怎么做?

评论

  1. 我之所以aligned在环境内使用环境multline,是因为这个环境的最后一行会与前三行重叠。因此,使用环境alignat将最后一行放在前几行右侧单独一列的解决方案并不合适。

  2. 我已经接受了下面的 Mico 的回答,它使用了包\mathrlap中的命令mathtools这里是一篇关于此命令及其相关命令的优秀文章。我在手册中找到了对这篇文章的引用mathtools

答案1

alignat我建议你为这五个方程式使用一个环境。然后,使用\notag方程式的指令,这些指令应该不是进行编号,并\label给出需要编号的方程式的说明。

(附录:以下 LaTeX 代码以及相关的屏幕截图均基于 OP 提供的随后已删除的初始代码片段。)

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}
\usepackage{cleveref}
\usepackage{lipsum}

\begin{document}
\begin{equation}\label{eq:first}
a+b=c
\end{equation}
\lipsum[1][1-2]
\begin{alignat}{3}
  A&                   \notag        \\
  B&                   \notag        \\
   &&\hspace{1cm}
      &\mathrlap{C}    \label{eq:a3} \\
   && &\mathrlap{D}    \label{eq:a4} \\
   && &&\hspace{5cm}
         &F            \notag
\end{alignat}
\lipsum[1][3-4]
\begin{equation}\label{eq:last}
x+y=z
\end{equation}
References: \labelcref{eq:first}, 
            \cref{eq:a3,eq:a4}, 
            \crefrange{eq:first}{eq:last}
\end{document}

附录:在我发布上述答案后,OP 删除了初始代码片段并发布了一些实际代码。将建议应用于alignatOP 的更新方程,可得到:

在此处输入图片描述

\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry} % set page parameters as needed
\usepackage{mathtools} % for \mathrlap macro
\usepackage{amssymb}   % for \mathbb macro
\usepackage{cleveref}  % for \cref, \crefrange, and \labelcref macros
\usepackage{lipsum}    % filler text

\begin{document}
\begin{equation}\label{eq:first}
a + b = c
\end{equation}
\lipsum[1][1-3]
\begin{alignat}{3}
\forall B\in\mathcal{P}\mathbb{Z},
\forall a\in\mathbb{Z},
\forall v\in\mathbb{N}_1,
\forall n\in\mathbb{N}_1 
 && \bullet \notag\\
\Bigl(\forall d\in D^n\exists w\in\mathbb{Z}^n
 && \bullet \notag\\
 && \mathrlap{\phantom{\wedge}\enspace|w|\in P[v\,..\,v+n)} 
    \label{eq:aaa} \\[\jot]
 && \mathrlap{\wedge\enspace\bigl(\forall k\in[1\,..\,n]
              \bullet d_k
              \bigl(a+\smash{\sum_{i=1}^k} w_i\bigr)>0\bigr)}
    \label{eq:bbb} \\
 && \mathrlap{\wedge\enspace a+\sum w\in B\Bigr)} 
    \label{eq:ccc} \\[2ex]
 &&&\hspace{1.5cm}
    & \implies\forall C\in R_{a,v}[D^n]\bullet 
      C\cap B\neq\emptyset \notag
\end{alignat}
\lipsum[1][4-6]
\begin{equation}\label{eq:last}
x + y = z
\end{equation}
References: \labelcref{eq:first}, 
            \crefrange{eq:first}{eq:last},
            \cref{eq:aaa,eq:ccc}.
\end{document}

答案2

由于 OP 拒绝了 @Mico 的回答,我并不认为我的回答(基于此回答)会有什么不同。因此,它的目的是向遇到类似问题的人展示可能的解决方案:

\documentclass{article}
\usepackage{geometry}
\usepackage{lipsum}     % for dumm text filler

\usepackage{nccmath}
\usepackage{amssymb}

\usepackage{cleveref}

\begin{document}
\lipsum[66]
\begin{equation}\label{eq:first}
a+b=c
\end{equation}
\begin{fleqn}
\begin{alignat}{3}
    \forall C\in\mathcal{P}\mathbb{Z}  \ \forall a\in\mathbb{Z}\ 
    &
    \forall a\in\mathcal{P}\mathbb{N}_1\ \forall n\in\mathbb{N}_1 \cdot
         &              \\
    & \Bigl(\forall d \in\mathcal{D}^n\ \exists w\mathbb{Z}^n\cdot
         &              \\
    &   \wedge\enspace\enspace|w|\in P[v\,..\,v+n)\,\\
    &   \wedge\enspace\big(\forall k\in[1\,..\,n]\bullet d_k(a+\sum_{i=1}^kw_i)>0\big)\,\\
&\wedge\enspace a+\sum w\in B\Bigr)
                &        \\
    &\hspace{9em}  \implies\forall C\in R_{a,v}[D^n]\bullet C\cap B\neq\emptyset
                &
    \end{alignat}
\end{fleqn}
\begin{equation}\label{eq:last}
x+y=z
\end{equation}
References: \eqref{eq:first}, \crefrange{eq:first}{eq:last} \dots
\end{document}

编辑:现在我的 MWE(部分)考虑了编辑问题中提供的 MWE。顺便说一句,我的观察表明,我的 MWE 的结果与 OP 问题中显示的图像非常相似。

在此处输入图片描述

相关内容