我想使用 TeXworks 创建一个表格。我可以使用tabular
环境来完成此操作,但是当我将标题放在表格上方时,会出现错误。代码如下。有人可以帮我解决这个问题吗?
\begin{center}
\begin{tabular}{l l l l l l}
{\caption{Table 1: The coeffcient of determination ($R^2$) for validation set (dataset C) obtained by applying different preprocessing techniques.}}
{\label{Table 1}}
\hline
Trans & Dry & Moisture-1 & Moisture-2 & Moisture-3 & Moisture-4\\
\hline
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02\\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88\\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95\\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19\\
\hline
\end{tabular}
\end(center)
答案1
好在问题中的代码不包含垂直线。这使得表格看起来更专业。
我不想对剩下的问题发表评论,你可能需要一本好的 LaTeX 书。表格可以设置如下:
\documentclass{article}
\usepackage{booktabs}% nicer horizontal lines
\usepackage{caption}% fix vertical spacing of table captions
\usepackage{siunitx}% align numbers at the decimal point
\begin{document}
\begin{table}
\centering
\caption{The coeffcient of determination ($R^2$) for
validation set (dataset~C) obtained by applying different preprocessing
techniques.}
\label{Table 1}
\begin{tabular}{
l
S[table-format=1.2]
S[table-format=-3.2]
S[table-format=-3.2]
S[table-format=-2.2]
S[table-format=-2.2]
}
\toprule
Trans & {Dry}
& {Moisture-1} & {Moisture-2} & {Moisture-3} & {Moisture-4}\\
\midrule
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02\\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88\\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95\\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案2
这里的关键问题是必须\caption
在tabular
环境之外。
还存在一些其他问题:
\end(center)
应该有大括号,而不是圆括号:\end{center}
- 当
\caption
位于 之外时tabular
,它会自动编号,因此最终会得到“表 1:表 1:”;从标题文本中删除该字符串 - 最好将其封装在“浮动”环境中,即
\begin{table} ... \end{table}
;否则您将需要\captionof{...}
而不仅仅是\caption
(以及\usepackage{captionof}
) - 如果你确实使用
table
环境,请使用\centering
而不是\begin{center} ... \end{center}
获得更好的垂直间距 - 表中的负值用连字符代替减号;对于真正的减号,您需要将这些值放入数学模式,例如
$184.32
,为了保持一致性,表中的所有数值都应视为相同 - 表格中的数值,尤其是当所有数值的小数位数相同时,向右对齐确实比向左对齐看起来更好
还有其他改进的可能性,但是现在这就足够了。
结果如下:
\documentclass{article}
\begin{document}
\begin{table}
\centering
\caption{The coeffcient of determination ($R^2$) for validation set (dataset C) obtained by applying different preprocessing techniques.}
\label{Table 1}
\begin{tabular}{l r r r r r}
\hline
Trans & Dry & Moisture-1 & Moisture-2 & Moisture-3 & Moisture-4\\
\hline
Raw & $0.79$ & $-184.32$ & $-100.21$ & $ -53.74$ & $-13.02$\\
MSC & $0.76$ & $-5.82$ & $-4.58$ & $-3.02$ & $-1.88$\\
SNV & $0.75$ & $-423.19$ & $-188.19$ & $-69.23$ & $-7.95$\\
FD & $0.71$ & $-6.12$ & $-4.13$ & $-3.26$ & $-2.19$\\
\hline
\end{tabular}
\end{table}
\end{document}
答案3
如果您能指出错误,那将非常有帮助。但是,有一点是错误的,即您在 \end{center} 中使用了普通括号而不是花括号。因此,您的 center 环境没有正确结束。此外,让我提出以下解决方案:
\begin{table}
\centering
\caption{The coeffcient of determination ($R^2$) for validation set (dataset C) obtained by applying different preprocessing techniques.}\label{Table 1}
\begin{tabular}{l l l l l l}
\hline
Trans & Dry & Moisture-1 & Moisture-2 & Moisture-3 & Moisture-4\\
\hline
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02\\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88\\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95\\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19\\
\hline
\end{tabular}
\end{table}
这样,您就不必明确说明表 1,居中操作已正确完成,并且标题也不会给您带来错误。
答案4
我提出了三种改进该表的解决方案:
第一个解决方案不使用table
环境,而是使用 \ captionof` 命令。标题宽度大于表格宽度。
第二种解决方案是使用threeparttable
环境。因此标题宽度就是表格宽度。您可以使用命令\caption
。
第三种解决方案基于包,它结合了和\ltablex
的可能性。您可以控制表格宽度,并且标题包含在表格的第一个标题中,就像在 lontable 环境中一样。tabularx
longtable
\documentclass{article}
\usepackage{booktabs}% nicer horizontal lines
\usepackage{caption}% fix vertical spacing of table captions
\usepackage{siunitx}% align numbers at the decimal point
\usepackage{threeparttable, ltablex}
\usepackage{showframe}
\begin{document}
\captionof{table}{The coefficient of determination ($R^2$) for
validation set (dataset~C) obtained by applying different preprocessing
techniques.}\vskip\abovecaptionskip
\label{Table 1a}
\begin{tabular}{
l
S[table-format=1.2]
S[table-format=-3.2]
S[table-format=-3.2]
S[table-format=-2.2]
S[table-format=-2.2]
}
\toprule
Trans & {Dry}
& {Moisture-1} & {Moisture-2} & {Moisture-3} & {Moisture-4}\\
\midrule
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02 \\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88 \\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95 \\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19 \\
\bottomrule
\end{tabular}
\vskip1cm
\begin{threeparttable}
\caption{The coefficient of determination ($R^2$) for
validation set (dataset~C) obtained by applying different preprocessing
techniques.}\vskip\abovecaptionskip
\label{Table 1b}
\begin{tabular}{
l
S[table-format=1.2]
S[table-format=-3.2]
S[table-format=-3.2]
S[table-format=-2.2]
S[table-format=-2.2]
}
\toprule
Trans & {Dry}
& {Moisture-1} & {Moisture-2} & {Moisture-3} & {Moisture-4}\\
\midrule
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02 \\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88 \\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95 \\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\vskip1cm
\keepXColumns
\begin{tabularx}{0.85\linewidth}{
X
S[table-format=1.2]
S[table-format=-3.2]
S[table-format=-3.2]
S[table-format=-2.2]
S[table-format=-2.2]
}
\captionsetup{width=0.85\linewidth}
\caption{The coefficient of determination ($R^2$) for
validation set (dataset~C) obtained by applying different preprocessing
techniques.}\label{Table 1c}
\endhead
\addlinespace[\abovecaptionskip]
\toprule
Trans & {Dry}
& {Moisture-1} & {Moisture-2} & {Moisture-3} & {Moisture-4}\\
\midrule
Raw & 0.79 & -184.32 & -100.21 & -53.74 & -13.02 \\
MSC & 0.76 & -5.82 & -4.58 & -3.02 & -1.88 \\
SNV & 0.75 & -423.19 & -188.19 & -69.23 & -7.95 \\
FD & 0.71 & -6.12 & -4.13 & -3.26 & -2.19 \\
\bottomrule
\end{tabularx}
\end{document}