\midrule 长度超出表格宽度

\midrule 长度超出表格宽度

我希望midrule我的桌子的长度与宽度相同。使用我目前拥有的代码,这是我得到的输出:

在此处输入图片描述

您能帮我将其调整midrule为与我的桌子宽度相同的尺寸吗?

这是我的代码:

\documentclass[article, english]{book}

\usepackage{booktabs}
\usepackage[table,x11names,dvipsnames,table]{xcolor}
\usepackage{multicol}
\usepackage{tabularx}
\usepackage{ctable}


\begin{document}

\begin{table}[ht!]
%\centering
\setlength\tabcolsep{12pt}
\rowcolors{2}{blue!20}{white}
%\begin{tabular}{@{}llll@{}}
\begin{tabularx}{\textwidth}{llll}
\rowcolor{blue!50}
\textbf{Freq} & \textbf{Board} & \textbf{\begin{tabular}[c]{@{}l@{}}PTT\\   ACC\end{tabular}} & \textbf{MAP} \\
136.0125 & 508  & -62.1 & -61.5 \\
173.9875 & 508  & -61.2 & -61.1 \\
380.0125 & 508  & -59.8 & -59.9 \\
519.9875 & 508  & -59   & -58.8 \\
764.0625 & 508  & -56.8 & -56.6 \\
869.8875 & 508  & -55.8 & -55.7 \\
\midrule[2pt]
136.0125 & 3511 & -61.9 & \cellcolor[HTML]{FE0000}-55.0 \\
173.9875 & 3511 & -61.7 & \cellcolor[HTML]{FE0000}-55.0 \\
380.0125 & 3511 & -59.7 & \cellcolor[HTML]{FE0000}-54.5 \\
519.9875 & 3511 & -58.7 & \cellcolor[HTML]{FE0000}-54.3 \\
764.0625 & 3511 & -56.5 & \cellcolor[HTML]{FE0000}-53.4 \\
869.8875 & 3511 & -55.5 & \cellcolor[HTML]{FE0000}-53.0
\end{tabularx}                                      
\end{table}

\end{document} 

答案1

默认行为或tabularx是设置一个宽度由第一个参数给出的表格 -\textwidth就你的情况而言。此外,它需要使用至少一个X-column 才能拉伸到该宽度。如果没有提供,那么实际上就不需要了tabularx

为此,不要使用tabularx,而是tabular使用:

在此处输入图片描述

\documentclass{article}

\usepackage{booktabs}
\usepackage[table,x11names,dvipsnames,table]{xcolor}

\begin{document}

\begin{table}
  \centering
  \rowcolors{2}{blue!20}{white}%
  \begin{tabular}{ *{4}{l} }
    \rowcolor{blue!50}
    \textbf{Freq} & \textbf{Board} & \textbf{\begin{tabular}[c]{ @{} l @{} }PTT \\ ACC\end{tabular}} & \textbf{MAP} \\
    136.0125 & 508  & -62.1 & -61.5 \\
    173.9875 & 508  & -61.2 & -61.1 \\
    380.0125 & 508  & -59.8 & -59.9 \\
    519.9875 & 508  & -59   & -58.8 \\
    764.0625 & 508  & -56.8 & -56.6 \\
    869.8875 & 508  & -55.8 & -55.7 \\
    \specialrule{2pt}{0pt}{0pt}
    136.0125 & 3511 & -61.9 & \cellcolor[HTML]{FE0000}-55.0 \\
    173.9875 & 3511 & -61.7 & \cellcolor[HTML]{FE0000}-55.0 \\
    380.0125 & 3511 & -59.7 & \cellcolor[HTML]{FE0000}-54.5 \\
    519.9875 & 3511 & -58.7 & \cellcolor[HTML]{FE0000}-54.3 \\
    764.0625 & 3511 & -56.5 & \cellcolor[HTML]{FE0000}-53.4 \\
    869.8875 & 3511 & -55.5 & \cellcolor[HTML]{FE0000}-53.0
  \end{tabular}                                      
\end{table}

\end{document}

请注意使用\specialrule{<width>}{<above sep>}{<below sep>}以避免有颜色的行之间出现彩色间隙。

答案2

正如我在评论中指出的那样,表格环境应至少具有一种 ˛X类型的列。由于您的表格相对较窄,因此最好使用tabular环境,而应关注列的设计。对于它们,我建议使用S包提供的列类型makecell,对于列标题使用\thead包中的列makecell。相反,midrule我宁愿使用Xhline{<thiknes>}来自makecel

\documentclass[article, english]{book}
\usepackage[table]{xcolor}
\definecolor{myred}{HTML}{FE0000}
\usepackage{siunitx}
\usepackage{booktabs, makecell, tabularx}
\renewcommand\theadfont{\bfseries}

\begin{document}
    \begin{table}[ht!]
\centering
\setlength\tabcolsep{12pt}
\rowcolors{2}{blue!20}{white}
\begin{tabular}{S[table-format=3.4]
                S[table-format=4.0]
                S[table-format=-2.1]
                S[table-format=-2.1]
                }
\rowcolor{blue!50}
{\thead{Frequency}}
            & {\thead{Board}}
                    & {\thead{PTT\\ ACC}}
                            & {\thead{MAP}}         \\
136.0125    & 508   & -62.1 & -61.5                 \\
173.9875    & 508   & -61.2 & -61.1                 \\
380.0125    & 508   & -59.8 & -59.9                 \\
519.9875    & 508   & -59   & -58.8                 \\
764.0625    & 508   & -56.8 & -56.6                 \\
869.8875    & 508   & -55.8 & -55.7                 \\
    \Xhline{2pt}
136.0125    & 3511  & -61.9 & \cellcolor{myred}-55.0 \\
173.9875    & 3511  & -61.7 & \cellcolor{myred}-55.0 \\
380.0125    & 3511  & -59.7 & \cellcolor{myred}-54.5 \\
519.9875    & 3511  & -58.7 & \cellcolor{myred}-54.3 \\
764.0625    & 3511  & -56.5 & \cellcolor{myred}-53.4 \\
869.8875    & 3511  & -55.5 & \cellcolor{myred}-53.0
\end{tabular}
    \end{table}
\end{document}

在此处输入图片描述

相关内容