Tabularx 对齐错误

Tabularx 对齐错误

我对 tabularx 环境和添加新列有疑问。目前我有 2 列表格的代码,如下所示

[![在此处输入图片描述][1]][1]

但是当我尝试添加其他列时,例如使用以下代码,似乎会出现错误。例如,代码如下:

 \documentclass{article}
            \usepackage{tabularx}
            \usepackage{booktabs}
            \newcolumntype{L}{ >{\RaggedRight}X }
            \usepackage{siunitx}
            \noindent
            \newcolumntype{Y}{ >{\Centering}X}
            \begin{tabularx}{\textwidth}{@{} l L S[table-format=1.4] @{}}
        \toprule  

        Category  & &  {Market Index} & &   {Barclay's Event Driven} 
        & &    {Hedge Fund Index} \\   
        \midrule   
        Momentum & & 0 & & 0 & & 0  \\ \addlinespace

        Size    & & 0 & & 0 & & 0  \\ \addlinespace

        Value   & & 0 & & 0 & & 0 \\ \addlinespace

        Market Index & & 0.498 & & 0 & & 0 \\ \addlinespace

        \bottomrule
    \end{tabularx}
\enddocument

但最后我收到一条错误消息,提示“额外的对齐标签已更改为 \cr”。有人能就此提出建议吗?如果其他人能为我提供任何其他格式化建议,我将不胜感激。谢谢。

答案1

不确定您想要什么,但您声明了一个带有3列的表并使用了 6 &,它们与列相对应7,就好像您认为&需要一对来分隔列一样。我可以向您保证 1就足够了:o)。所以我在声明中添加了一列,下面是代码和结果。对于列标题,我建议加载makecell,它允许在单元格内换行\thead并采用通用格式。我还将删除最后一个addlinespace(除非有特定要求,因为bootabs上面已经添加了一些垂直填充\bottomrule

\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs, ragged2e, makecell}
\renewcommand\theadfont{\normalfont\bfseries}
\newcolumntype{L}{ >{\RaggedRight}X }
\usepackage{siunitx}
\setlength\parindent{0pt}
\newcolumntype{Y}{ >{\Centering}X}

\begin{document}

\begin{tabularx}{\textwidth}{@{} lYY S[table-format=1.4] @{}}
  \toprule
  \thead[lc]{Category }& \thead{Market Index} & {\thead{Barclay's \\Event Driven}}
  & {\thead{Hedge Fund \\Index}} \\
  \midrule
  Momentum & 0 & 0 & 0 \\ 
  \addlinespace
  Size & 0 & 0 & 0 \\ 
  \addlinespace
  Value & 0 & 0 & 0 \\ 
  \addlinespace
  Market Index & 0.498 & 0 & 0 \\ 
  \bottomrule
\end{tabularx}

\end{document} 

在此处输入图片描述

相关内容