我正在尝试在表格上创建标题,但出现错误:标题超出浮动范围。我编写了以下代码,

我正在尝试在表格上创建标题,但出现错误:标题超出浮动范围。我编写了以下代码,
\documentclass{article}
\usepackage[english]{babel}
\usepackage{CJK}
\usepackage[table]{xcolor}
\usepackage{caption}
\usepackage{booktabs}
\begin{document}

\begin{CJK}{UTF8}{song}
\begin{center}
\rowcolors{1}{green}{pink}
\caption{Timetable for on line class (F=法学;Y=营养)}

\begin{tabular}{lllll}

\caption{Timetable for on line class (F=法学;Y=营养)}
    & Mon  & Wed & Thurs & Fri \\
8:00-9:40am   & 法学1903  &  &法学1904 & 法学1901\\
    9:55-11:35am& 法学1902  &  &  & 营养1901  \\

\end{tabular}
\end{center}
\end{CJK}
\end{document}

答案1

由于您已经加载了标题包,请使用命令\capionof{table}{The caption text},或将您的表格放在table-environment中。

并且,正如@Zarko 在他的评论中所写,\caption{...}不能在tabular-environment 内(也不能\captionof)。

我已更正第二行(8:00)的间距问题。从印刷上讲,您应该使用en-space(--),而不是连字符-来指示时间跨度:

在此处输入图片描述

\documentclass{article}
\usepackage[english]{babel}
\usepackage{CJK}
\usepackage[table]{xcolor}
\usepackage{caption}
\usepackage{booktabs}
\begin{document}

\begin{CJK}{UTF8}{song}
\begin{center}
\rowcolors{1}{green}{pink}
\captionof{table}{Timetable for on line class (F=法学;Y=营养)}

\begin{tabular}{lllll}

    & Mon  & Wed & Thurs & Fri \\
8:00--9:40am   & 法学1903  &  &法学1904 & 法学1901\\ %% Corrected space
9:55--11:35am& 法学1902  &  &  & 营养1901  \\

\end{tabular}
\end{center}
\end{CJK}
\end{document}

答案2

发生这种情况的原因是,正如错误消息所告诉您的那样,有一个标题位于浮动环境之外。您只需将tabular环境放在环境内部即可table

\documentclass{article}
\usepackage[english]{babel}
\usepackage{CJK}
\usepackage[table]{xcolor}
\usepackage{caption}
\usepackage{booktabs}
\begin{document}

\begin{CJK}{UTF8}{song}
\begin{table}
\centering
\rowcolors{1}{green}{pink}
\caption{Timetable for on line class (F=法学;Y=营养)}
\begin{tabular}{lllll}
    & Mon  & Wed & Thurs & Fri \\
8:00-9:40am   & 法学1903  &  &法学1904 & 法学1901\\
    9:55-11:35am& 法学1902  &  &  & 营养1901  \\
\end{tabular}
\end{table}
\end{CJK}
\end{document}

相关内容