다음과 같이 두 개의 테이블이 나란히 있습니다.
\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}
그러나 표시되면 캡션이 한 줄에 표시되지 않고 줄바꿈됩니다. 캡션을 넓히기 위해 floatrow에서 \FBWidth 또는 다른 것을 사용할 수 있는 방법이 있습니까?
답변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}