如何修复这个两列表格?

如何修复这个两列表格?

以下是我的 MWE:

\documentclass[conference]{IEEEtran}
\usepackage{booktabs}
\begin{document}

\begin{table*}
\centering
\begin{tabular*}{\textwidth}{@{\extracolsep{\stretch{1}}}*{2}{r}}
  \toprule
   Scheme & Sequence \\
  \midrule
  \centering{\textit{A}} & 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1   \\
  \centering{\textit{B}} & 8 2 3 2 9 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 8 2 3 2 1 2 5 2 3 2 1 2 3 2 3 2 1   \\
  \bottomrule                             
\end{tabular*}
\caption{Table}\label{T1}
\end{table*}
\end{document}

我的问题:

  1. 如何将“方案”和“序列”置于顶行中央
  2. 如何减少列之间的白色间距
  3. 如果我尝试使用在两行之间添加线条,\hline它看起来会非常拥挤。我如何添加线条并改善间距

答案1

  1. 使用c列。

  2. 只需使用tabular,无需tabular*设置为\textwidth

  3. \midrule而不是\hline?但是你想要那条线吗?

您还应该将标题放在表格上方,而不是下方。 并且\centering不是接受参数的命令,也就是说它应该用作{\centering ...},而不是\centering{...}。 但是使用列时您根本不需要它c

在此处输入图片描述

\documentclass[conference]{IEEEtran}
\usepackage{booktabs}
\begin{document}

\begin{table*}
\centering
\caption{Table}\label{T1}
\begin{tabular}{*{2}{c}}
  \toprule
   Scheme & Sequence \\
  \midrule
  \textit{A} & 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1   \\ \midrule
  \textit{B} & 8 2 3 2 9 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 8 2 3 2 1 2 5 2 3 2 1 2 3 2 3 2 1   \\
  \bottomrule                             
\end{tabular}
\end{table*}
\end{document}

答案2

  1. 如果您只想更改单个单元格的对齐方式,可以\multicolumn{1}{c}{Scheme}在此处使用。这还将忽略来自array-package>{}和 的任何额外列说明符<{}
  2. 如果您不想要额外的列空间,为什么要使用带有 - 规范的tabular*- 环境\textwidth?它用于将表格拉伸到给定的长度,在这里它将拉伸到文本区域的宽度。相反,只需使用常规的tabular,如托比约恩T也在他的回答中写道。如果你想进一步减少空间,你可以直接设置空间,\setlength{\tabcolsep}{0pt}
  3. 我不会在这里使用线条,而是使用\addlinespace,它只会插入一些额外的垂直空间。

进一步的建议

为了减少冗余代码,您可以为整列分配一个值\textit{A,而不是对每一行都使用等,并使用-package作为列说明符。这将插入到此列中每个单元格的前面,设置为用于居中对齐。\textit{B}\itshapearray>{\itshape}c\itshapec

在表格顶部添加标题,因为通常在阅读表格本身之前需要标题。此外,为了改善间距并更好地控制标题,请加载 -package caption

对于标签,您应该使用比 更具信息量的标签T1。如果您决定在此表之前插入一个表,会发生什么?给它贴上标签T0?此外,您需要记住每个标签的含义。相反,请使用一些可以告诉您表真正含义的内容,例如tab:SchemeSequence

输出

在此处输入图片描述

代码

\documentclass[conference]{IEEEtran}
\usepackage{booktabs}
\usepackage{array}
\usepackage{caption}
\begin{document}

\begin{table}
\caption{Table}\label{tab:SchemeSequence}
\begin{tabular}{>{\itshape}cr}
  \toprule
   \multicolumn{1}{c}{Scheme} & \multicolumn{1}{c}{Sequence} \\
  \midrule
  A & 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1   \\
  \addlinespace
  B & 8 2 3 2 9 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 3 2 3 2 1 2 8 2 3 2 1 2 5 2 3 2 1 2 3 2 3 2 1   \\
  \bottomrule
\end{tabular}
\end{table}

\begin{table}[hbt]
\caption{Table with grouping of numbers}\label{tab:SchemeSequenceGrouped}
\begin{tabular}{>{\itshape}cr}
  \toprule
   \multicolumn{1}{c}{Scheme} & \multicolumn{1}{c}{Sequence} \\
  \midrule
  A & 3232 1232 3212 3232 1232 3212 3232 1232 3212 3232 1232 3212 3232 1232 321   \\
  \addlinespace
  B & 8232 9232 3212 3232 1232 3212 3232 1232 3212 3232 1282 3212 5232 1232 321   \\
  \bottomrule
\end{tabular}
\end{table}
\end{document}

相关内容