对齐表格中的两个标题

对齐表格中的两个标题

我希望一些表格和图形有两个标题,其中第一个标题描述一般内容,第二个标题提供一些附加信息。

这个想法是让第二个标题与第一个标题的标题文本左对齐,而不是与标题标签左对齐,即与表格(图)内容的描述左对齐,而不是与表格(图)一词左对齐。

我以为 caption 包中的选项 [format=hang,indention=0cm] 可以实现这一点,但第二个标题却居中显示。我原本以为第二个标题会被视为标题中的第二个段落,但显然我错了(见表 1)。

我在这个网站上找到了类似的查询(看这里),因此我修改了建议答案中的代码。对于短标题,它运行良好(见表 2),但对于长标题,第二个标题与第一个标题不对齐(见表 3)。我意识到我的代码可能效率不高,因此引入了一些错误,所以任何帮助都将不胜感激。

在此处输入图片描述

\documentclass{article}
\usepackage[format=hang,indention=0cm]{caption}

% some auxiliary lengths for aligning the captions
\newlength\mylena
\newlength\mylenb
\newlength\mylenc

% new command: \MyCaption{First numbered caption}{Second unnumbered caption}
\newcommand\MyCaption[2]{%
    \captionsetup{belowskip=-\baselineskip}
    \settowidth\mylena{\tablename~\thetable:~ #1}
    \settowidth\mylenb{\small{#2}}
    \settowidth\mylenc{\tablename~\thetable:~}
    \caption{#1}
    \caption*{\hspace*{\dimexpr%
        \mylenb - \mylena + \mylenc + \mylenc \relax} 
        \small{#2}}
    \setlength\belowcaptionskip{\baselineskip}
}

\begin{document}

\begin{table}[ht]
    \caption[LoT entry]{The first caption 

    (The second caption)}
     \centerline{
        \begin{tabular}{lrr}
        \hline
         & C1  & C2 \\
        \hline
        R1 & & \\
        R2 & & \\
        \hline
        \end{tabular}
        }
\end{table}

\begin{table}[ht]
    \MyCaption{The first caption}{(The second caption)}
     \centerline{
        \begin{tabular}{lrr}
        \hline
         & C1  & C2 \\
        \hline
        R1 & & \\
        R2 & & \\
        \hline
        \end{tabular}
        }
\end{table}

\begin{table}[ht]
    \MyCaption{A long first caption A long first caption A long first caption A long first caption A long first caption }{(A long second caption A long second caption A long second caption A long second caption A long second caption )}
     \centerline{
        \begin{tabular}{lrr}
        \hline
         & C1  & C2 \\
        \hline
        R1 & & \\
        R2 & & \\
        \hline
        \end{tabular}
        }
\end{table}

\end{document}

答案1

如果省略测试短标题并将其居中并强制其始终使用段落设置的代码,则会更容易。nooneline选项。

在此处输入图片描述

\documentclass{article}
\usepackage[format=hang,indention=0cm,nooneline]{caption}

% some auxiliary lengths for aligning the captions
\newlength\mylena
\newlength\mylenb
\newlength\mylenc
\makeatletter
% new command: \MyCaption{First numbered caption}{Second unnumbered caption}
\newcommand\MyCaption[2]{%
    \caption[#1]{#1\par\small#2\par}%
}

\begin{document}


\begin{table}[htp]
    \MyCaption{The first caption}{(The second caption)}
     \centerline{
        \begin{tabular}{lrr}
        \hline
         & C1  & C2 \\
        \hline
        R1 & & \\
        R2 & & \\
        \hline
        \end{tabular}
        }
\end{table}

\begin{table}[htp]
    \MyCaption{A long first caption A long first caption A long first caption A long first caption A long first caption }{(A long second caption A long second caption A long second caption A long second caption A long second caption )}
     \centerline{
        \begin{tabular}{lrr}
        \hline
         & C1  & C2 \\
        \hline
        R1 & & \\
        R2 & & \\
        \hline
        \end{tabular}
        }
\end{table}

\end{document}

相关内容