我有一张如下所示的表格:
\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
在您的示例中没有任何作用。)根据您要实现的具体目标,align
或align*
可能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}