我想要一个两行的标题,第二行不居中而是左对齐。
这是以下代码的结果,\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.}