La alineación del texto de los encabezados de las columnas: "Número acumulativo de cursos que se deben aprobar" y "Número acumulativo de cursos de último año que se deben aprobar" son claramente incorrectas. Reconozco que estos son encabezados de columna inusualmente largos, pero no puedo pensar en un término más preciso que ese en este momento.
Lo que me gustaría es que los encabezados de las dos columnas "envuelvan" más "BSc" y "EDP", aunque no exactamente. Quizás si el corte está en la palabra "Cursos" (mueva "Obligatorio" a la segunda línea), sería bueno. ¿También es posible mover las columnas del EDP un poco más hacia la derecha, para que estén más alineadas con la palabra "Cursos" de arriba?
MWE:
\documentclass{article}
\usepackage{booktabs, threeparttable}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\begin{document}
\begin{table}[H]
\begin{threeparttable}
\caption{Minimum Requirements for Automatic Readmission into the Science Faculty}
\label{table:sci}
\begin{tabular}{@{}p{0.18\textwidth}*{4}{L{\dimexpr0.1\textwidth-2\tabcolsep\relax}}@{}}
\toprule
& \multicolumn{2}{c}{\bfseries Cumulative Number of Courses Required to be Passed} &
\multicolumn{2}{c}{\bfseries Cumulative Number of Senior Courses Required to be Passed} \\
\cmidrule(l){2-3} \cmidrule(l){4-5}
& BSc & EDP & BSc & EDP \\
\midrule
First-year & 2 & 2 & --- & --- \\
Second-year & 7 & 6 & --- & --- \\
Third-year & 11 & 10 & 3 & 2 \\
Fourth-year & 15 & 14 & 6 & 5 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
Respuesta1
Hice tres cambios en tu tabla:
1) agregué\centering
2) Cambié el ancho de las 4 columnas del lado derecho a 0.2\textwidth...
y
3) Coloqué los encabezados, cada uno por su cuenta \Longstack
. Esto requirió tres ajustes adicionales en el preámbulo: agregar el stackengine
paquete; indique al paquete que lo use \#
como final de línea, ya que tabular
ya se está usando \\
(tenga en cuenta que la última stackengine
versión 4.00 puede usar \\
delimitadores de fin de línea, incluso anidados dentro de a tabular
); y dígale al paquete que establezca 12 puntos entre las líneas de base de las líneas de la pila, ya que tabular
pone a cero el valor de \baselineskip
, que de otro modo es el espacio predeterminado de pila larga. Tenga en cuenta que puede dar el argumento \Longstack
a [l]
o [r]
opcional para cambiar la [c]
alineación predeterminada.
\documentclass{article}
\usepackage{booktabs, threeparttable, stackengine}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\setstackEOL{\#}
\setstackgap{L}{12pt}
\begin{document}
\begin{table}[ht]
\centering
\begin{threeparttable}
\caption{Minimum Requirements for Automatic Readmission into the Science Faculty}
\label{table:sci}
\begin{tabular}{@{}p{0.18\textwidth}*{4}{L{\dimexpr0.20\textwidth-2\tabcolsep\relax}}@{}}
\toprule
& \multicolumn{2}{c}{\bfseries \Longstack{Cumulative Number\# of Courses Required\# to be Passed}} &
\multicolumn{2}{c}{\bfseries \Longstack{Cumulative Number of\# Senior Courses Required\# to be Passed}} \\
\cmidrule(l){2-3} \cmidrule(l){4-5}
& BSc & EDP & BSc & EDP \\
\midrule
First-year & 2 & 2 & --- & --- \\
Second-year & 7 & 6 & --- & --- \\
Third-year & 11 & 10 & 3 & 2 \\
Fourth-year & 15 & 14 & 6 & 5 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
Respuesta2
No lo use c
en \multicolumn{2}{c}{...
pero
\multicolumn{2}{L{\dimexpr0.3\linewidth-8\tabcolsep\relax}}{...
Código completo:
\documentclass{article}
\usepackage{booktabs, threeparttable}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\begin{document}
\begin{table}[H]
\begin{threeparttable}
\caption{Minimum Requirements for Automatic Readmission into the Science Faculty}
\label{table:sci}
\begin{tabular}{@{}p{0.18\textwidth}*{4}{L{\dimexpr0.3\linewidth-8\tabcolsep\relax}}@{}}
\toprule
& \multicolumn{2}{L{\dimexpr0.4\linewidth-4\tabcolsep\relax}}{\bfseries Cumulative Number of Courses Required to be Passed} &
\multicolumn{2}{L{\dimexpr0.4\linewidth-4\tabcolsep\relax}}{\bfseries Cumulative Number of Senior Courses Required to be Passed} \\
\cmidrule(l){2-3} \cmidrule(l){4-5}
& BSc & EDP & BSc & EDP \\
\midrule
First-year & 2 & 2 & --- & --- \\
Second-year & 7 & 6 & --- & --- \\
Third-year & 11 & 10 & 3 & 2 \\
Fourth-year & 15 & 14 & 6 & 5 \\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}