我有兩張並排的桌子,如下所示:
\documentclass[11pt,reqno]{amsart}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{amssymb}
\usepackage{color}
\usepackage{enumerate}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{slashbox}
\usepackage{epstopdf}
\usepackage{floatrow}
\usepackage{newfloat}
\usepackage{blindtext}
\newfloatcommand{capbtabbox}{table}[][\FBwidth]
\DeclareFloatSeparators{mysep}{\hskip6em}
\begin{document}
\begin{table}[!ht]\centering
\fontsize{8}{8}\selectfont
\floatsetup{floatrowsep=mysep}
\begin{floatrow}
\ttabbox[\FBwidth]
{\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&0\\
\hline
1&0&0&0\\
\hline
1&0&0&0\\
\hline
0&0&0&0\\
\hline
1&5&32&6\\
\hline
\end{tabular}}%
{\caption{Very long caption that goes something like this.}\label{label}}
%%
\ttabbox[\FBwidth]
{\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
\end{tabular}}
{\caption{Another long caption like this}
\label{label2}}
\end{floatrow}
\end{table}%
\end{document}
然而,當顯示時,標題會環繞而不是顯示在一行上。有沒有辦法使用 \FBWidth 或 floatrow 中的其他內容來加寬標題?
答案1
您可能想要這樣的東西,它標記每個子表,然後在主表標題中添加帶有標籤的解釋。顯然,如果標題要比表格寬,則標題必須位於表格之外。此外,他們還需要標籤來指示哪個標題與哪個表格對應。因此,表-子表/標題-子標題設計。
您還應該閱讀一些有關表設計的文檔。一般來說,建議行數較少,間距較好。事實上,大多數表格根本不需要任何垂直線。看一下booktabs
以獲取靈感。
\documentclass[11pt,reqno]{amsart}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}
\usepackage{color}
\usepackage{subcaption}
\DeclareCaptionLabelSeparator{none}{}
\DeclareCaptionSubType*[arabic]{table}
\captionsetup[subtable]{labelformat=simple,labelsep=none}
\captionsetup[table]{labelformat=simple,labelsep=none,justification=centerfirst}
\begin{document}
\begin{table}[!ht]
\centering
\fontsize{8}{8}\selectfont
\begin{subtable}{.25\textwidth}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&0\\
\hline
1&0&0&0\\
\hline
1&0&0&0\\
\hline
0&0&0&0\\
\hline
1&5&32&6\\
\hline
\end{tabular}
\caption{}\label{label}
\end{subtable}
\begin{subtable}{.25\textwidth}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
\end{tabular}
\caption{}\label{label2}
\end{subtable}
\caption{\mbox{}\\\ref{label} Very long caption that goes something like this.\\\ref{label2} Another long caption like this.}
\end{table}
\end{document}
答案2
\floatbox
您可以使用( 的可選參數)的寬度\ttabbox
和浮動分隔符號的值。這將需要手動調整。您還應該意識到連續表格的標題重疊的風險。
這是一條路要走。對於您提供的標題,我必須更改文件的水平邊距:
\documentclass[11pt,reqno]{amsart}
\usepackage[utf8]{inputenc}
\usepackage{floatrow}
\usepackage[hmargin =20mm, showframe, nomarginpar]{geometry}
\DeclareFloatSeparators{mysep}{\hskip-3em}
\begin{document}
\noindent \begin{table}[!ht]%\centering
\fontsize{8}{8}\selectfont
\floatsetup{floatrowsep=mysep}
\hskip-4em\begin{floatrow}
\ttabbox[5.2\FBwidth]
{\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&0\\
\hline
1&0&0&0\\
\hline
1&0&0&0\\
\hline
0&0&0&0\\
\hline
1&5&32&6\\
\hline
\end{tabular}}%
{\caption{Very long caption that goes something like this.}\label{label}}
%%
\ttabbox[4\FBwidth]
{\begin{tabular}{|c|c|c|c|}
\hline
$a$&$b$&$c$&$d$\\
\hline
1&0&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
1&1&1&1\\
\hline
\end{tabular}}
{\caption{Another long caption like this} \label{label2}}
\end{floatrow}
\end{table}%
\end{document}