如何获得表格下方跨越整个文本宽度的水平线?

如何获得表格下方跨越整个文本宽度的水平线?

我想要表格下方的水平线,该线跨越整个文本宽度。我尝试了以下方法,但是,该线仅跨越表格宽度,而不跨越文本宽度。

\documentclass[12pt,twoside,openright]{book}

\usepackage{booktabs}
\usepackage[table,xcdraw]{xcolor}
\definecolor{mygray}{gray}{0.8}

\newcommand*\tabendline{%
    \arrayrulecolor{mygray}\specialrule{1.15\heavyrulewidth}{0.15 cm}{0 cm}
}

\begin{document}
    \begin{table*}
        \centering
        \caption{\label{tab:table}Caption}
        \begin{tabular*}{0.6\linewidth}{@{\extracolsep{\fill}}c c c c@{\extracolsep{\fill}}}
            \hline
            A  & B & C & D  \\
            \hline
            a & b  & c & d \\
            e & f & g & h \\
            \tabendline
        \end{tabular*}
    \end{table*}
\end{document}

答案1

在表格外添加行。

\documentclass[12pt,twoside,openright]{book}

\usepackage{booktabs}
\usepackage[table,xcdraw]{xcolor}
\definecolor{mygray}{gray}{0.8}

\newcommand*\tabendline{%
    \arrayrulecolor{mygray}\specialrule{1.15\heavyrulewidth}{0.15 cm}{0 cm}
}

\begin{document}
    \begin{table*}
        \centering
        \caption{\label{tab:table}Caption}
        \begin{tabular*}{0.6\linewidth}{@{\extracolsep{\fill}}c c c c@{\extracolsep{\fill}}}
            \hline
            A  & B & C & D  \\
            \hline
            a & b  & c & d \\
            e & f & g & h \\
            % \tabendline
        \end{tabular*}
        \color{mygray}\rule{\textwidth}{1.15\heavyrulewidth}
    \end{table*}
\end{document}

在此处输入图片描述

答案2

我想要一个横跨整个文本宽度的表格下方的水平线

我建议您\tabendline在 的基础上定义\hrule一个奇怪的小垂直模式命令,该命令绘制一条水平规则,其自然宽度与当前垂直模式组的宽度相同——通常,但并非总是如此\textwidth

在此处输入图片描述

\documentclass{book}
\usepackage{booktabs} % for '\heavyrulewidth' length parameter
\usepackage{xcolor}   % for '\textcolor' macro
\definecolor{mygray}{gray}{0.8}
\newcommand\tabendline{%
    \textcolor{mygray}{\hrule height 1.15\heavyrulewidth}}

\begin{document}
    \begin{table*}
        \centering
        \caption{\label{tab:table}Caption\strut}
        \begin{tabular*}{0.6\linewidth}{@{\extracolsep{\fill}}
            cccc @{}}
            \toprule
            A & B & C & D \\
            \midrule
            a & b & c & d \\
            e & f & g & h \\
            \bottomrule
        \end{tabular*}  
    \smallskip
    \tabendline 
    \end{table*}
\end{document}

相关内容