如何将方程编号置于公式下方?

如何将方程编号置于公式下方?

我有 3 个矩阵,我想让它们排成一行,每个矩阵下面都有一个参考编号。如何获取公式下面的方程编号?(类似于子图)

来自评论: - 我想通过 \ref 引用方程式 - 子方程式标签是因为我觉得它可以像子图一样工作,但到目前为止我还没有找到方法

答案1

您可以将它们放入表格(或更好的 tabularx)环境中,或放入 minipages 中。然后自己处理方程编号。

\documentclass{article}
\usepackage{amsmath}
\usepackage{tabularx}
\newcommand\makeeqno{\refstepcounter{equation}(\theequation)}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}

\begin{tabularx}{0.7\textwidth}{CCC}
$\begin{pmatrix}
    a & b \\ c & d
  \end{pmatrix}$
&
    $\begin{pmatrix}
      11 & 12 \\ 21 & 22
    \end{pmatrix}$
&
  $\begin{pmatrix}
    A & B \\ C & D
  \end{pmatrix}$
  \\
  \makeeqno \label{first} & \makeeqno \label{second} &\makeeqno \label{third}\\
\end{tabularx}

Now refer to equation \ref{first} and equation \ref{third}.

Another equation:
\begin{equation} \label{eq:4}
      E = m c^2
\end{equation}
\end{document}

或者使用小页面:

\documentclass{article}
\usepackage{amsmath}
\newcommand\makeeqno{\refstepcounter{equation}(\theequation)}
\newenvironment{mip}{
  \begin{minipage}{3cm}\begin{center}}{\end{center}\end{minipage}}
\begin{document}
\begin{mip}
$\begin{pmatrix}
    a & b \\ c & d
  \end{pmatrix}$\\
  \makeeqno \label{first}
\end{mip}
 \begin{mip}
    $\begin{pmatrix}
      11 & 12 \\ 21 & 22
    \end{pmatrix}$\\
    \makeeqno \label{second}
  \end{mip}
  \begin{mip}
  $\begin{pmatrix}
    A & B \\ C & D
  \end{pmatrix}$\\
    \makeeqno \label{third}
\end{mip}

Now refer to equation \ref{first} and equation \ref{third}.

Another equation:
\begin{equation} \label{eq:4}
      E = m c^2
\end{equation}
\end{document}

答案2

编写一个环境来执行此操作似乎很棘手,因为我想不出一个很好的语法来满足“列”条目和相应方程编号的标签(这并不是说这是不可能的,只是我没有想到办法:)。

这里有一个“手动”实现你想要的方法:将矩阵放入环境中array,然后使用宏将方程数字添加到它们下面\addlabel。此宏接受一个参数,即标签名称,然后递增并打印数字equation并添加\label。既然你提到subeqations我假设你正在使用数学包裹。

输出如下:

在此处输入图片描述

代码如下:

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand\addlabel[1]{% using \label causes spurious so use \ltx@label
  \refstepcounter{equation}(\theequation)\ltx@label{#1}}
\makeatother

\begin{document}

  \[
    \begin{array}{ccc}
      \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}
      & \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}
      & \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}
      \\[1mm]% add some extra space after the equation line
      % now add labels to matrices
      \addlabel{one} &  & \addlabel{three}
    \end{array}
  \]

  See equations \ref{one} and \ref{three}.
\end{document}

我省略了第二个矩阵的方程编号只是为了证明这是可能的。

的定义\addlabel比你想象的要复杂得多,因为它调用了\ltx@label。这是因为数学重新定义,\label以便它可以检查各种错误,包括具有多个标签或相同的方程式,因此如果我们尝试使用,我们会收到警告\label。事实上,\ltx@label是“真正的” latex\label命令,因此我们可以使用它来避免 amsmath 警告。

相关内容