为什么我的宽度固定、内容居中的表格无法工作?

为什么我的宽度固定、内容居中的表格无法工作?

我的目标是创建一个表格,该表格的列宽度固定且包含居中内容。

这是我的表,工作正常:

\begin{tabular}{ | c | c | c | }
    \hline
    col1 & col2 & col3 \\ \hline
    Inhalt & Inhalt & Inhalt \\ \hline
\end{tabular}

所有三列的固定宽度也可以正常工作:

\begin{tabular}{ | m{1cm} | m{1cm} | m{1cm} | }

固定宽度和居中仅应用于两列也可以正常工作:

\begin{tabular}{ | >{\centering} m{1cm} | >{\centering} m{1cm} | c | }

对所有三列应用固定宽度和居中会使 Texmaker 打印出多个错误:

\begin{tabular}{ | >{\centering} m{1cm} | >{\centering} m{1cm} | >{\centering} m{1cm} | }

错误是:

3号线

! Misplaced \noalign.\hline ->\noalign{\ifnum 0=`}\fi \let \hskip \vskip \let \vrule \hrule \let... col1 & col2 & col3 \\ \hline

3号线

! Misplaced \noalign.\hline ->\noalign{\ifnum 0=`}\fi \let \hskip \vskip \let \vrule \hrule \let... col1 & col2 & col3 \\ \hline

4号线

! Misplaced \noalign.\hline ->\noalign{\ifnum 0=`}\fi \let \hskip \vskip \let \vrule \hrule \let... col1 & col2 & col3 \\ \hline

我究竟做错了什么?

答案1

使用tabularray后就无需再担心\centering\arraybackslash

\documentclass{article}
\usepackage{tabularray}

\begin{document}

\begin{tblr}{
    colspec={*3{Q[c,m,1cm]}},
    hlines, vlines
    }
    col1 & col2 & col3 \\ 
    Inhalt & Inhalt & Inhalt \\ 
\end{tblr}

\end{document}

在此处输入图片描述

答案2

{NiceTabular}的环境nicematrix具有与传统环境相同的语法{tabular},但具有额外的功能。特别是,mpcolumnsb类型在方括号之间有一个可选参数。使用 键c,您将获得水平居中。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{NiceTabular}{ | m[c]{1cm} | m[c]{1cm} | m[c]{1cm} | }
    \hline
    col1 & col2 & col3 \\ \hline
    Inhalt & Inhalt & Inhalt \\ \hline
\end{NiceTabular}

\end{document}

上述代码的输出

相关内容