我正在尝试在表中写入以下条目
\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}