使用 floatrow 或 \FBWidth 防止标题环绕

使用 floatrow 或 \FBWidth 防止标题环绕

我有两张并排的桌子,如下所示:

    \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} 

在此处输入图片描述

相关内容