我的桌子出了什么问题?

我的桌子出了什么问题?

我正在尝试在表中写入以下条目

\begin{table}[h]
\centering
$\begin{array}
\toprule
k & \lbrace c_{kj} : j=1, \cdots , 8 \rbrace  \\[1ex]
1 &  \lbrace 0 , 190 , 359 , 514 , 676 , 810 , 931 , 1013 \rbrace  \\
2 &  \lbrace 190 ,   0 , 178 , 333 , 496 , 630 , 750 , 831 \rbrace  \\
3 &  \lbrace 359, 178 ,   0 , 156 , 318 , 452 , 573 , 655 \rbrace  \\
4 & \lbrace 514 , 333 , 156 ,   0 , 246 , 297 , 417 , 499  \rbrace \\
5 &  \lbrace 676 , 496 , 318 , 246 ,   0 , 156 , 255 , 338   \rbrace \\
6 & \lbrace 810 , 630 , 452 , 297 , 156 ,   0 , 120 , 204 \rbrace  \\
7 &  \lbrace 931 , 750 , 573 , 417 , 255 , 120 ,   0  , 85  \rbrace \\
8 & \lbrace 1013 , 831 , 655 , 499 , 338 , 204 ,  85 ,   0 \rbrace   \\
\bottomrule
\end{array}$
\caption {$ \lbrace c_{kj} : j=1, \cdots , 8 \rbrace $ for $ k=1, \cdot 8$}
\end{table}

我收到几个错误,其中第一个是“包数组错误”

有人能建议如何解决这个问题吗?谢谢!

答案1

语法错误(缺少环境参数array)已在评论和答案中解释。因此,此答案使示例完整,并为矩阵中的所有系数添加了完全对齐。

\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\begin{document}
  \begin{table}[h]
    \centering
    $\begin{array}{
        c
        >{\lbrace\hfill}r@{$, $}
        *{6}{r@{$, $}}
        r<{\rbrace}
      }
      \toprule
      k & \multicolumn{8}{c}{\lbrace c_{kj}\colon j=1, \dots , 8 \rbrace} \\
      \midrule
      1 &  0   & 190 & 359 & 514 & 676 & 810 & 931 & 1013 \\
      2 &  190 &   0 & 178 & 333 & 496 & 630 & 750 &  831 \\
      3 &  359 & 178 &   0 & 156 & 318 & 452 & 573 &  655 \\
      4 &  514 & 333 & 156 &   0 & 246 & 297 & 417 &  499 \\
      5 &  676 & 496 & 318 & 246 &   0 & 156 & 255 &  338 \\
      6 &  810 & 630 & 452 & 297 & 156 &   0 & 120 &  204 \\
      7 &  931 & 750 & 573 & 417 & 255 & 120 &   0 &   85 \\
      8 & 1013 & 831 & 655 & 499 & 338 & 204 &  85 &    0 \\
      \bottomrule
    \end{array}$
    \caption {$ \lbrace c_{kj}\colon j=1, \dots , 8 \rbrace $ for $ k=1, \dots ,
  \end{table}
\end{document}

结果

评论:

  • 省略号的点应该位于基线上,参见评论的 LaRiFaRi。

  • 这里的冒号是一个简单的标点符号,而不是关系数学运算符。\colon是标点符号和:关系数学运算符。

  • array用于自动添加花括号。

  • 第二列使用了一个技巧:>{\lbrace\hfill}r将括号放在左边,而单元格内容则移动到右边。

答案2

您可能缺少列说明符

\begin{array}{cl}

然而,这种方法没有充分考虑到你有一个数字数组的事实,而且很难找到韋克从表中。

因此,我建议采用另一种方法,借助siunitx其强大的数字数据功能。

\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage{booktabs}
\usepackage{siunitx}

\begin{document}

\begin{table}[htp]
\centering
\begin{tabular}{ c *{8}{S[table-format=4.0]} }
\toprule
\multicolumn{9}{c}{Values of $c_{kj}$} \\
\midrule
\makebox[2em]{$k$} &
  {$j=1$} & {$j=2$} & {$j=3$} & {$j=4$} & {$j=5$} & {$j=6$} & {$j=7$} & {$j=8$} \\
\cmidrule(lr){1-1} \cmidrule(lr){2-9}
1 &  0   & 190 & 359 & 514 & 676 & 810 & 931 & 1013 \\
2 &  190 &   0 & 178 & 333 & 496 & 630 & 750 &  831 \\
3 &  359 & 178 &   0 & 156 & 318 & 452 & 573 &  655 \\
4 &  514 & 333 & 156 &   0 & 246 & 297 & 417 &  499 \\
5 &  676 & 496 & 318 & 246 &   0 & 156 & 255 &  338 \\
6 &  810 & 630 & 452 & 297 & 156 &   0 & 120 &  204 \\
7 &  931 & 750 & 573 & 417 & 255 & 120 &   0 &   85 \\
8 & 1013 & 831 & 655 & 499 & 338 & 204 &  85 &    0 \\
\bottomrule
\end{tabular}
\caption {$\{c_{kj} : j=1,\dots,8\}$ for $k=1,\dots,8$}
\end{table}

\end{document}

请注意,\begin{table}[h]不建议使用,它还应至少包括p,但htp可能更好。无论如何都会添加说明符[h]t

请注意,逗号之间的点应该较低;但加载效果更好,amsmath这样\dots通常能够决定在两个符号之间使用哪种点。

在此处输入图片描述

答案3

正如 Gessler 指出的那样。以下是更新版本

\documentclass[10pt,letterpaper]{article}
\begin{document}
\begin{table}[h]
\centering
$\begin{array}{cc}\hline
k & \lbrace c_{kj} : j=1, \cdots , 8 \rbrace  \\[1ex]
1 &  \lbrace 0 , 190 , 359 , 514 , 676 , 810 , 931 , 1013 \rbrace  \\
2 &  \lbrace 190 ,   0 , 178 , 333 , 496 , 630 , 750 , 831 \rbrace  \\
3 &  \lbrace 359, 178 ,   0 , 156 , 318 , 452 , 573 , 655 \rbrace  \\
4 & \lbrace 514 , 333 , 156 ,   0 , 246 , 297 , 417 , 499  \rbrace \\
5 &  \lbrace 676 , 496 , 318 , 246 ,   0 , 156 , 255 , 338   \rbrace \\
6 & \lbrace 810 , 630 , 452 , 297 , 156 ,   0 , 120 , 204 \rbrace  \\
7 &  \lbrace 931 , 750 , 573 , 417 , 255 , 120 ,   0  , 85  \rbrace \\
8 & \lbrace 1013 , 831 , 655 , 499 , 338 , 204 ,  85 ,   0 \rbrace   \\
\hline
\end{array}$
\caption {$ \lbrace c_{kj} : j=1, \cdots , 8 \rbrace $ for $ k=1, \cdot 8$}
\end{table}
\end{document}

相关内容