在 table 中的单行中创建的额外列

An extra column created in a single row in a table

我想要一个 table 在乳胶中,标题在水平和垂直方向上都居中,并且 space 比其他列更垂直。这是我写的代码;

\begin{tabular}{| l | l | l |}\hline
   \rowcolor{lightgray} \multicolumn{1}{|c|}{\large{\textsc{Vitamin}}} & \multicolumn{1}{|c|}{\large{\textsc{Use In Body}}} & \multicolumn{1}{|c|}{\large{\textsc{Deficiency Disease}}}\rule{0pt}{25pt} \rule[-25pt]{0pt}{25pt}\\hline
   \linebreak
   &  & 
\end{tabular}

这是我得到的结果。 Result image

在第三列之后存在额外的列或其他内容。你知道任何修复随机陌生人的方法吗?

您需要在列中插入垂直线(支柱)。您在其外部定义了它,这导致了意外的扩展。

\documentclass{article}

\usepackage[table]{xcolor}

\begin{document}
    \begin{tabular}{| l | l | l |}\hline
      \rowcolor{lightgray}\multicolumn{1}{|c|}{\large{\textsc{Vitamin}}} & \multicolumn{1}{c|}{\large{\textsc{Use In Body}}} & \multicolumn{1}{c|}{\large{\textsc{Deficiency Disease\rule{0pt}{25pt} \rule[-25pt]{0pt}{25pt}}}}
      \\hline
      &  & \
      \hline
    \end{tabular}
\end{document}

您可以使用一个 rule 而不是像这样的两个 \rule[-25pt]{0pt}{50pt}。另外,请注意第一行不是垂直居中的。

我建议您使用 tabularray 程序包,它可以非常轻松地管理行和列。此外,它更适合带有垂直线的颜色表。

使用 tabularray 包的代码:

\documentclass{article}

\usepackage[table]{xcolor}
\usepackage{tabularray}

\begin{document}
    \begin{tblr}{
        hlines, vlines,
        colspec=lll,
        row{1}={c, m, 50pt, lightgray, font=\large\scshape},
    }    
        Vitamin & Use In Body & Deficiency Disease\ 
        &&\
    \end{tblr}
\end{document}