首页 > 解决方案 > TabularX - 带有居中文本的全角表格。有问题

问题描述

我尝试了很多组合。我试图让这个表格上的文本在单元格中居中,并保持页面的整个宽度。目前我有这个。

            \begin{table}[h]
            \begin{tabularx}{\textwidth}{|l|X|X|X|}
              \hline
              \rowcolor[HTML]{C70F0F}
              % START HEADER 
              \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{\#}}} & \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Status}}} & \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Time}}} & \multicolumn{1}{|c|}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Reason}}} \\ \hline
              % END HEADER

              % START Reason
              1 & \textbf{Open} & \today & Client Request \\ \hline
              % END Reason
            \end{tabularx}
        \end{table}

结果如下。我如何更新它以使文本居中。

桌子

标签: latex

解决方案


您可以定义一个新的列类型,它结合了 X 和\centeringarray

\documentclass{article}
\usepackage{tabularx}
\usepackage[table]{xcolor}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{document}

    \begin{table}[h]
    \begin{tabularx}{\textwidth}{|l|Y|Y|Y|}
    \hline
    \rowcolor[HTML]{C70F0F}
    % START HEADER 
    \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{\#}}} & \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Status}}} & \multicolumn{1}{|c}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Time}}} & \multicolumn{1}{|c|}{\cellcolor[HTML]{C70F0F}{\color[HTML]{FFFFFF} \textbf{Reason}}} \\ \hline
    % END HEADER

    % START Reason
    1 & \textbf{Open} & \today & Client Request \\ \hline
    % END Reason
    \end{tabularx}
    \end{table}



\end{document}

在此处输入图像描述


推荐阅读