在右侧对表格进行编号

在右侧对表格进行编号

我有一张如下所示的表格:

\begin{table}[!hbt] 
\centering
    \begin{tabular}{r r c l r}
     Min & $\mathbf{c}^\intercal\mathbf{x}$ & \\
     subject to & $A\mathbf{x}$ & $=$& $\mathbf{b}$ \\
     & $\mathbf{x}$ & $\geqslant$ & 0.
    \end{tabular} 
\end{table}

我想给这个表一个数字,就像方程式或比对一样。这可能吗?如果可以,我该如何实现?

答案1

我认为表格不是您要实现的目标的正确工具。(此外,环境table在您的示例中没有任何作用。)根据您要实现的具体目标,alignalign*可能aligned是您的最佳选择。我在下面提供了一些示例。

一些一般说明:LaTeX 的优势之一是能够将排版与源输入分开。虽然这在数学方面只在一定程度上是正确的,但我建议始终定义表示您想要在语义上表达的内容的宏(例如\vec对于向量)并在序言中定义它们的行为(例如“以粗体字体打印此符号”)。当您对某些符号的预定义方式不满意时(例如,您更喜欢\geqslant或希望乘法(\times)使用居中点而不是十字来排版),只需更改它们并继续在语义上一致的方式。

\numberthis取自这里

\documentclass{article}

\usepackage{amsmath, amssymb}
\usepackage{bm}

\renewcommand*\vec[1]{\bm{#1}}
\newcommand*\transpose[1]{{{#1}^\intercal}}
\let\geq\geqslant

\newcommand*\numberthis{\addtocounter{equation}{1}\tag{\theequation}}

\begin{document}

\begin{equation}
    \begin{aligned}
        \llap{\text{Min}\qquad}
        \transpose{\vec c} \vec x   \\
        \llap{\text{subject to}\qquad}
        A \vec x &= \vec b  \\
        \vec x &\geq 0
     \end{aligned}
\end{equation}

\begin{align}
    \text{Min}&&
    \transpose{\vec c} \vec x   &&\\
    \text{subject to}&&
    A \vec x &= \vec b  \\&&
    \vec x &\geq 0
\end{align}

\begin{align*}
    \text{Min}&&
    \transpose{\vec c} \vec x   &&\\
    \text{subject to}&&
    A \vec x &= \vec b  \\&&
    \vec x &\geq 0 \numberthis
\end{align*}

\end{document}

MWE 输出

相关内容