如何让第一列的内容居中?

如何让第一列的内容居中?

如何仅使第一列的内容居中,而不使其他任何内容(包括第一列的标题)居中?

\documentclass{article}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{tabular}{ @{} l l l >{$\mathstrut\displaystyle}l<{$} @{} }
\toprule 
\emph{first} & \emph{second} & \emph{third} & \multicolumn{1}{l}{\emph{fourth}} \\\midrule
foo & bar & y=f(x) & data\\
foo & bar & y=f(x) & data \\
foo & bar & Time \\
foo & bar & y=f(x) & 10.56 \\
foo & bar & Angle & 18.256 \\
foo & bar & Force & 1.6 \\
foo & bar & y=f(x) & 8.56 \\\bottomrule
\end{tabular}
\end{document}

答案1

由于您不想将标题居中,而只想将下面的单元格居中,因此您必须使用 单独指定标题对齐方式。也\multicolumn不要忘记@{}中的。 一些注意事项:\multicolumn

  • 我认为将标题与列的其余部分以不同的方式对齐并不是一个好主意。
  • \tabcolsep我认为使用 删除表格边缘的不是一个好主意@{}
  • 不要data在数学模式下写文本(在您的示例中)!\textit如果您想要斜体文本(或者\itshape如果您不需要数学模式),或者只是\text为了退出数学模式,请使用。
  • y=f(x)另一方面,应该处于数学模式。
  • S表格列的类型更siunitx适合您的最后一列。
\documentclass{article}

\usepackage{booktabs}
\usepackage{array}
\usepackage{siunitx}

\begin{document}

\begin{tabular}{ @{} c l l S[table-format=2.3] @{} }\toprule 
    \multicolumn{1}{@{}l}{\emph{first}} & \emph{second} & \emph{third} & \multicolumn{1}{l@{}}{\emph{fourth}} \\\midrule
    foo long entry & bar & \(y=f(x)\) & {\itshape data long entry}\\
    foo & bar & \(y=f(x)\) & {\itshape data} \\
    foo & bar & Time \\
    foo & bar & \(y=f(x)\) & 10.56 \\
    foo & bar & Angle & 18.256 \\
    foo & bar & Force & 1.6 \\
    foo & bar & \(y=f(x)\) & 8.56 \\\bottomrule
\end{tabular}

\end{document}

MWE 输出

为了进行比较,以下使用相同的表格,但考虑了上面的前两点(删除了@{}s 和\multicolumns): 更好的 MWE 输出

答案2

只需将 l 改为 c

\documentclass{article}
\usepackage{booktabs}
\usepackage{array}

\begin{document}
\begin{tabular}{ @{} c l l >{$\mathstrut\displaystyle$}l<{} @{} }
\toprule 
\emph{first} & \emph{second} & \emph{third} & \multicolumn{1}{l}{\emph{fourth}} \\\midrule
foo & bar & y=f(x) & data\\
foo & bar & y=f(x) & data \\
foo & bar & Time \\
foo & bar & y=f(x) & 10.56 \\
foo & bar & Angle & 18.256 \\
foo & bar & Force & 1.6 \\
foo & bar & y=f(x) & 8.56 \\\bottomrule
\end{tabular}
\end{document}

相关内容