Tabularx 无法将某些列居中

Tabularx 无法将某些列居中

我正在尝试使用 tabularx 环境创建时间表,但找不到将所有列居中的方法。

使用此代码:

\documentclass[11pt,oneside, landscape]{article} 

\usepackage[utf8]{inputenc} 

\usepackage{geometry}
\geometry{a4paper} 
\usepackage[osf]{mathpazo}
\linespread{1.05}\selectfont 

\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}  


\usepackage{booktabs}
\usepackage{array} 

\usepackage{tabularx}

\usepackage{fancyhdr}
\pagestyle{empty}

\newcommand{\tit}[1]{\fontsize{15}{17}\color{darkgray}\usefont{T1}{pplj}{b}{it}\selectfont #1}

\begin{document}

\begin{center}
\renewcommand{\arraystretch}{1.5}

\begin{tabularx}{19cm}{r >{\centering}X >{\centering}X >{\centering}X >{\centering}X X}
                   & \tit{Lun} &  \tit{Mar} &  \tit{Mer} & \tit{Gio} & \tit{Ven} \\
\toprule
\color{gray}9-11  $||$ &  & Laboratorio III &  &  Metodi mat. per la fisica & Laboratorio III \\ \midrule
\color{gray}11-13  $||$& Meccanica Quantistica & Metodi mat. per la fisica &  & Meccanica Quantistica & Fisica dell'informazione \\ \midrule
\midrule
\color{gray}15-17  $||$ &  & Fisica dell'informazione & Laboratorio III &  & \\
\bottomrule

\end{tabularx}

\end{center}

\end{document}

我明白了

在此处输入图片描述

最后一列不居中。如果我尝试更改

\begin{tabularx}{19cm}{r >{\centering}X >{\centering}X >{\centering}X >{\centering}X X}

\begin{tabularx}{19cm}{r >{\centering}X >{\centering}X >{\centering}X >{\centering}X {\centering}X}

我明白

! Misplaced \noalign.
\toprule ->\noalign 
                    {\ifnum 0=`}\fi \@aboverulesep =\abovetopsep \global        \@b...
l.39 \end{tabularx}

答案1

array和包的tabularx重新定义\\方式略有不同。我指的是tabularx-无法将某些列居中以获得更深入的解释。

定义最后一列时,必须在-command\arraybackslash后面添加一个\centeringIE

>{\centering\arraybackslash}X

您的表格序言将是:

\begin{tabularx}{19cm}{r >{\centering}X >{\centering}X%
>{\centering}X >{\centering}X >{\centering\arraybackslash}X}

或者你可以使用禁忌

\documentclass[11pt,oneside, landscape]{article} 
\usepackage[utf8]{inputenc} 
\usepackage{geometry}
\geometry{a4paper} 
\usepackage[osf]{mathpazo}
\linespread{1.05}\selectfont 
\usepackage{graphicx,tabu}
\usepackage[dvipsnames]{xcolor}  
\usepackage{booktabs}
\usepackage{array} 
\usepackage{tabularx}
\usepackage{fancyhdr}
\pagestyle{empty}

\newcommand{\tit}[1]{\fontsize{15}{17}\color{darkgray}\usefont{T1}{pplj}{b}{it}\selectfont #1}

\begin{document}
\tabulinesep=4pt

\begin{tabu}to 19cm{r X[c] X[c] X[c] X[c] X[c]}
\rowfont{\tit} & Lun &  Mar &  Mer & Gio & Ven \strut\\
\toprule
\color{gray}9-11  $||$ &  & Laboratorio III &  &  Metodi mat. per la fisica & Laboratorio III \\ \midrule
\color{gray}11-13  $||$& Meccanica Quantistica & Metodi mat. per la fisica &  & Meccanica Quantistica & Fisica dell'informazione \\\midrule
\midrule
\color{gray}15-17  $||$ &  & Fisica dell'informazione & Laboratorio III &  & \\
\bottomrule
\end{tabu}
\end{document}

MWE 具有tabu

在此处输入图片描述

答案2

在序言中定义新的列类型,例如:

\newcolumntype{C}{>{\centering\arraybackslash}X}

然后将 >{\centering}X 和 >{\centering\arraybackslash}X 用于列类型 C。

相关内容