两个并排的表格中,一个表格的标题和标签被分配给另一个表格

两个并排的表格中,一个表格的标题和标签被分配给另一个表格

我使用 并排创建了两个表格minipage。表格显示完美,只是右侧表格的标签和标题与左侧表格的标签和标题相同。另一方面,右侧表格的标题和标签消失了。

代码如下:

\documentclass[12pt,a4paper,landscape]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[paper=portrait,pagesize]{typearea}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{float}
\restylefloat{table}


\begin{document}    
\begin{table}[H]
\setlength\tabcolsep{0pt}
\begin{minipage}{0.475\textwidth}
\begin{tabular*}{1\textwidth}{@{\extracolsep{\fill}} l *{8}{c}}
\toprule
Original Class & \multicolumn{8}{c}{Class Predicted} \\
\cmidrule{2-9}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8  \\
\midrule
1 & 17 & 0 & 0 & 0 & 0  & 0  & 0 & 0 \\
2 & 0 & 14 & 0 & 0 & 0 & 0 & 0 & 0 \\
3 & 0 & 0 & 17 & 0 & 0 & 0 & 0 & 0 \\
4 & 0 & 0 & 0 & 17 & 0 & 0 & 0 & 0  \\
5 & 0 & 0 & 0 & 0 & 15 & 0 & 0 & 0  \\
6 & 0 & 0 & 0 & 0 & 1 & 11 & 0 & 0  \\
7 & 0 & 0 & 0 & 0 & 0 & 0 & 13 & 0  \\
8 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 15  \\
\bottomrule
\end{tabular*}
\caption{Confusion Matrix}
\label{tab:Table 1}
\end{minipage}
\hfill
\begin{minipage}{0.475\textwidth}
\begin{tabular*}{1\textwidth}{@{\extracolsep{\fill}} l *{8}{c}}
\toprule
& \multicolumn{8}{c}{Class} \\
\cmidrule{2-9}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8  \\
\midrule
TPR & 1 & 1 & 1 & 1 & 1  & 0.917  & 1 & 1 \\
TNR & 1 & 1 & 1 & 1 & 0.99 & 1 & 1 & 1 \\
FPR & 0 & 0 & 0 & 0 & 0.0095 & 0 & 0 & 0 \\
FNR & 0 & 0 & 0 & 0 & 0 & 0.083 & 0 & 0  \\
\bottomrule
\end{tabular*}
\caption{Evaluation Metrics}
\label{tab:Table 2}
\end{minipage}
\end{table}
\end{document}

输出:

在此处输入图片描述

编辑

我使用了 Mico 写的答案这里

编辑2

我曾使用过[ht!]一个表,但表放错了位置(附有输出)。所以我仍在使用[H]它,它能给我所需的输出。

在此处输入图片描述

答案1

正如你在此期间发现的那样,运行\restylefloat是导致你遇到奇怪的格式问题的原因。顺便说一句,它是不对必须运行\restylefloat才能使用[H]定位说明符tablefigure浮动。话虽如此,您真的应该问问自己,从印刷术上讲,使用 是否正确[H],因为使用 可能会产生一些意想不到的负面影响。使用[H]也可以实现 的所有优点[ht!]。有关此问题的更详细讨论,请参阅当不尝试指定浮点数时,‘h’浮点说明符更改为‘ht’警告

您可能已经注意到,如果两个minipage高度不等的环境并排放置,则它们的默认垂直方向是将它们垂直对齐在中间。如果不希望这样,比如说,如果您更喜欢顶部对齐,只需为两个环境以及两个环境指定[t]("top") 。minipagetabular*

在此处输入图片描述

\documentclass[12pt,a4paper,%landscape % <-- landscape option is overridden
     ]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
%%%\usepackage{amsmath}  % is loaded automatically by 'mathtools'
%%%\usepackage{amsfonts} % is loaded automatically by 'amssymb'
\usepackage{amssymb}
\usepackage[margin=2cm]{geometry}
\usepackage[paper=portrait,pagesize]{typearea}
\usepackage{mathtools}
%%%\usepackage{amsmath} % don't load packages twice
\usepackage{booktabs}
%%%\usepackage{float}   % you don't really need this package
%%%\restylefloat{table} % don't do this


\begin{document}    
\begin{table}[ht!]  % much safer than "[H]"
\setlength\tabcolsep{0pt}
\begin{minipage}[t]{0.475\textwidth}
\begin{tabular*}{1\textwidth}[t]{@{\extracolsep{\fill}} l *{8}{c}}
\toprule
Orig.\ Class & \multicolumn{8}{c}{Class Predicted} \\
\cmidrule{2-9}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8  \\
\midrule
1 & 17 & 0 & 0 & 0 & 0  & 0  & 0 & 0 \\
2 & 0 & 14 & 0 & 0 & 0 & 0 & 0 & 0 \\
3 & 0 & 0 & 17 & 0 & 0 & 0 & 0 & 0 \\
4 & 0 & 0 & 0 & 17 & 0 & 0 & 0 & 0  \\
5 & 0 & 0 & 0 & 0 & 15 & 0 & 0 & 0  \\
6 & 0 & 0 & 0 & 0 & 1 & 11 & 0 & 0  \\
7 & 0 & 0 & 0 & 0 & 0 & 0 & 13 & 0  \\
8 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 15  \\
\bottomrule
\end{tabular*}
\caption{Confusion Matrix}
\label{tab:Table1}
\end{minipage}
\hfill
\begin{minipage}[t]{0.475\textwidth}
\begin{tabular*}{1\textwidth}[t]{@{\extracolsep{\fill}} l *{8}{c}}
\toprule
& \multicolumn{8}{c}{Class} \\
\cmidrule{2-9}
& 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8  \\
\midrule
TPR & 1 & 1 & 1 & 1 & 1  & 0.917  & 1 & 1 \\
TNR & 1 & 1 & 1 & 1 & 0.99 & 1 & 1 & 1 \\
FPR & 0 & 0 & 0 & 0 & 0.0095 & 0 & 0 & 0 \\
FNR & 0 & 0 & 0 & 0 & 0 & 0.083 & 0 & 0  \\
\bottomrule
\end{tabular*}
\caption{Evaluation Metrics}
\label{tab:Table2}
\end{minipage}
\end{table}
\end{document}

答案2

这是一个隐藏的功能float,当你执行时\restylefloat\caption命令会以一种特殊的方式发生变化:它将其参数存储在全局分配的框中;仅在\end{table}该框处使用,这意味着第一个标题已被遗忘。

该包这样做是因为它希望根据输入代码的位置独立地强制标题的顶部或底部位置\caption。对于样式,plain位置是底部。

这样做的效果是\restylefloat{table}不能用于minipage并排摆放两张桌子。

太糟糕了,我同意。

\restylefloat另一方面,如果你想使用[H],你不需要[H]在任何情况下都想使用。

相关内容