多行标题

多行标题

我想要一个两行的标题,第二行不居中而是左对齐。

在此处输入图片描述

这是以下代码的结果,\captionsetup{justification=raggedright}似乎不起作用。我做错了什么?

\documentclass[a4paper,twoside,12pt]{scrreprt}
\usepackage{fontspec}
\usepackage{caption}
\usepackage{booktabs}
\begin{document}
\begin{table}
  \centering
  \captionsetup{justification=raggedright}
\begin{tabular}{cc}
  \toprule
  A & B 
\\ \midrule
  11111111111111111  & 1111111111111111\\
  22222222222222222  & 2222222222222222\\
  33333333333333333  & 3333333333333333\\
  44444444444444444  & 4444444444444444\\
  55555555555555555  & 5555555555555555\\
  66666666666666666  & 6666666666666666\\
\bottomrule
\end{tabular}
\caption{Caption caption caption caption\\
caption caption}
\end{table}
\end{document}

答案1

如果您使用threeparttable环境,它会计算表格的宽度,并且可以与以下plain格式一起使用hang

 \documentclass[a4paper,twoside,12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{fourier, heuristica}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{threeparttablex}

\begin{document}

\begin{table}[!h]
\captionsetup{format =plain}%
\centering
\begin{threeparttable}
\begin{tabular}{cc}
\toprule
A & B
\\ \midrule
11111111111111111 & 1111111111111111\\
22222222222222222 & 2222222222222222\\
33333333333333333 & 3333333333333333\\
44444444444444444 & 4444444444444444\\
55555555555555555 & 5555555555555555\\
66666666666666666 & 6666666666666666\\
\bottomrule
\end{tabular}
\caption{Caption caption caption caption\\
caption caption. }
\end{threeparttable}
\end{table}

\begin{table}[!h]
\captionsetup{format =hang}%
\centering
\begin{threeparttable}
\begin{tabular}{cc}
\toprule
A & B
\\ \midrule
11111111111111111 & 1111111111111111\\
22222222222222222 & 2222222222222222\\
33333333333333333 & 3333333333333333\\
44444444444444444 & 4444444444444444\\
55555555555555555 & 5555555555555555\\
66666666666666666 & 6666666666666666\\
\bottomrule
\end{tabular}
\caption{Caption caption caption caption\\
caption caption. }
\end{threeparttable}
\end{table}\end{document} 

请注意,它似乎不适用于环境ThreePartTable(来自threeparttablex),因此您无法通过页面拆分表格。

在此处输入图片描述

答案2

Hang 是 KOMA-Script 类中的标准标题格式。因此,您只需测量浮点数的宽度并将其设置\setcapwidth为结果即可。caption不需要包。

\documentclass[twoside,12pt]{scrreprt}
\usepackage{fontspec}
\usepackage{booktabs}

\newlength\floatwidth
\newcommand\MyFloat[1]{%
  \settowidth\floatwidth{#1}%
  \setcapwidth[c]{\floatwidth}%
  #1%
}

\begin{document}
\begin{table}
  \centering
  \MyFloat{%
    \begin{tabular}{cc}
      \toprule
      A & B\\
      \midrule
      11111111111111111  & 1111111111111111\\
      22222222222222222  & 2222222222222222\\
      33333333333333333  & 3333333333333333\\
      44444444444444444  & 4444444444444444\\
      55555555555555555  & 5555555555555555\\
      66666666666666666  & 6666666666666666\\
      \bottomrule
    \end{tabular}%
  }
  \caption{Caption caption caption caption caption caption.}
\end{table}
\end{document}

在此处输入图片描述

注意:如果标题内需要手动换行,则必须使用

  \caption{Caption caption caption caption \protect\\ caption caption.}

或者可能更好

  \caption[Caption caption caption caption caption caption.]{%
           Caption caption caption caption \\ caption caption.}

相关内容