表格标题右上对齐

表格标题右上对齐

我怎样才能像这样对齐表格的标题?

在此处输入图片描述

当前代码:

\begin{table}[h]
  \caption{}
  \centering
    \begin{tabular}{|l|r|r|l|}
        \hline
        № & X     & Y     & Время выполнения м:сс \\ \hline
        1 & 15000 & 16000 & 0:57                  \\ \hline
        2 & 16000 & 17000 & 0:19                  \\ \hline
        3 & 17000 & 18000 & 0:10                  \\ \hline
        4 & 18000 & 19000 & 0:03                  \\ \hline
        5 & 19000 & 20000 & 0:02                  \\ \hline
        6 & 20000 & 21000 & 0:01                  \\ \hline
        7 & 60000 & 61000 & 0:01                  \\ \hline
    \end{tabular}
\end{table}

答案1

\caption传统的左右对齐要求意味着表格必须有边框。您可以使用以下方法实现此目的:ctablecaption

在此处输入图片描述

\documentclass{article}
\usepackage{ctable}% http://ctan.org/pkg/ctable
\usepackage{caption}% http://ctan.org/pkg/caption
\captionsetup[table]{justification=raggedleft,singlelinecheck=off}
\begin{document}
\ctable
  [caption={Some caption}]% <options>
  {|l|r|r|l|}% <column spec>
  {}% <footnotes>
  {% <table>
    \hline
    No & X     & Y     & Hours:Minutes \\ \hline
    1 & 15000 & 16000 & 0:57                  \\ \hline
    2 & 16000 & 17000 & 0:19                  \\ \hline
    3 & 17000 & 18000 & 0:10                  \\ \hline
    4 & 18000 & 19000 & 0:03                  \\ \hline
    5 & 19000 & 20000 & 0:02                  \\ \hline
    6 & 20000 & 21000 & 0:01                  \\ \hline
    7 & 60000 & 61000 & 0:01                  \\ \hline
  }
\end{document}

答案2

\ttabbox可以使用\FBwidthfloatrow包来获取宽度等于表格宽度的标题,然后借助caption包裹:

\documentclass{article}
\usepackage[russian]{babel}
\usepackage{floatrow,caption}

\begin{document}

\ttabbox[\FBwidth]{}{%
  \captionsetup{justification=raggedleft,singlelinecheck=off}
  \caption{}
    \begin{tabular}{|l|r|r|l|}
        \hline
        № & X     & Y     & text \\ \hline
        1 & 15000 & 16000 & 0:57                  \\ \hline
        2 & 16000 & 17000 & 0:19                  \\ \hline
        3 & 17000 & 18000 & 0:10                  \\ \hline
        4 & 18000 & 19000 & 0:03                  \\ \hline
        5 & 19000 & 20000 & 0:02                  \\ \hline
        6 & 20000 & 21000 & 0:01                  \\ \hline
        7 & 60000 & 61000 & 0:01                  \\ \hline
    \end{tabular}%
}

\end{document}

在此处输入图片描述

答案3

或者,您可以caption与包结合使用threeparttable。虽然threeparttable的主要功能是允许表格注释,但它也会限制标题宽度,以便正确对齐。

 

\documentclass{article}
\usepackage{caption}
\usepackage{threeparttable}

\begin{document}
\begin{table}[h]
    \centering
    \begin{threeparttable}
        \captionsetup{justification=raggedleft,singlelinecheck=false}
        \caption{}      
        \begin{tabular}{|l|r|r|l|}
            \hline
            № & X     & Y     & Время выполнения м:сс \\ \hline
            1 & 15000 & 16000 & 0:57                  \\ \hline
            2 & 16000 & 17000 & 0:19                  \\ \hline
            3 & 17000 & 18000 & 0:10                  \\ \hline
            4 & 18000 & 19000 & 0:03                  \\ \hline
            5 & 19000 & 20000 & 0:02                  \\ \hline
            6 & 20000 & 21000 & 0:01                  \\ \hline
            7 & 60000 & 61000 & 0:01                  \\ \hline
        \end{tabular}
    \end{threeparttable}    
\end{table} 
\end{document}

答案4

不要使用captionboxthreeparttable等,只需包括singlelinecheck=falsejustification=RaggedLeftjustification=raggedleft选择其中任何一个plain/hangformat如果还不满意的话。更可能的是,format=plain这适合俄罗斯的出版物标准。

\usepackage{caption}
\captionsetup[table]{singlelinecheck=false, justification=RaggedLeft}

考虑到,当窄表居中时,标题可能会被放置在右边框的末尾并超出表格范围。

相关内容