如何将对齐元素放入固定列中?

如何将对齐元素放入固定列中?

我想要在一列中放置“对齐”方程式,在另一列中放置文本表。在 LaTeX 中,“表”和“列”似乎是独立但重叠的机制。

在 LaTeX 中,“列”似乎是自动流动的东西。我想要手动指定每列的内容的列。我猜这是通过“表格”和表格列完成的?但是,在表格内部,我不能使用许多构造,例如\[ \]align元素。有什么解决办法吗?

\begin{longtable}{|c|c|}
    \hline
    \begin{align*}
        y = b + \sum\limits_i x_i w_i
    \end{align*}
    &
    \begin{tabular}{ll}
        a & b \\
        a & b \\
    \end{tabular} \\
    \hline
\end{longtable}

答案1

要在列内使用排版align或显示的方程式,您需要一个段落类型列;要么或(后者由\[...\]p{<length>}m{<length>}array包裹)。

但是,在您的示例中,我建议您使用aligned而不是align*并抑制垂直规则,并使用booktabs包裹。

表格的三个版本:第一个版本,没有重大修改(除了使用aligned);第二个版本,通过引入更多“空气”改进水平线和内容\arraystretch,第三个版本,使用booktabs和 没有垂直线。

在此处输入图片描述

代码:

\documentclass[12pt]{report}
\usepackage{amsmath}
\usepackage{longtable}
\usepackage{array}
\usepackage{booktabs}

\begin{document}

\begin{longtable}{|>{$}c<{$}|c|}
    \hline
    \begin{aligned}
        y &= b + \sum\limits_i x_i w_i \\
           &= c.
    \end{aligned}
    &
    \begin{tabular}{ll}
        a & b \\
        a & b \\
    \end{tabular} \\
    \hline
\end{longtable}

{
\renewcommand\arraystretch{1.7}
\begin{longtable}{|>{$}c<{$}|c|}
    \hline
    \begin{aligned}
        y &= b + \sum\limits_i x_i w_i \\
           &= c.
    \end{aligned}
    &
    \begin{tabular}{ll}
        a & b \\
        a & b \\
    \end{tabular} \\
    \hline
\end{longtable}
}

\begin{longtable}{>{$}c<{$} c}
    \toprule
    \begin{aligned}
        y &= b + \sum\limits_i x_i w_i \\
           &= c.
    \end{aligned}
    &
    \begin{tabular}{ll}
        a & b \\
        a & b \\
    \end{tabular} \\
    \bottomrule
\end{longtable}

\end{document}

也许,根据您的实际意图,抑制内部开始和结束处的填充也是一个好主意tabular

\begin{tabular}{@{}ll@{}}
    a & b \\
    a & b \\
\end{tabular}

相关内容