Quebrando texto em uma célula da tabela

Quebrando texto em uma célula da tabela

Meu alinhamento de texto dos cabeçalhos das colunas - "Número cumulativo de cursos necessários para aprovação" e "Número cumulativo de cursos superiores necessários para aprovação" está claramente errado. Reconheço que estes são cabeçalhos de colunas excepcionalmente longos, mas não consigo pensar em um termo mais preciso do que este no momento.

insira a descrição da imagem aqui

O que eu gostaria é que os dois cabeçalhos de coluna "envolvessem" mais em torno de "BSc" e "EDP", embora não exatamente. Talvez se o corte estiver na palavra "Cursos" (mover 'Obrigatório' para a segunda linha), isso seria bom. Também é possível mover as colunas EDP um pouco mais para a direita, para que fiquem mais alinhadas com a palavra “Cursos” acima?

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}

Responder1

Fiz três alterações na sua tabela:

1) eu adicionei\centering

2) Alterei a largura das 4 colunas do lado direito para 0.2\textwidth...e

3) Coloquei os cabeçalhos, cada um no seu \Longstack. Isso exigiu três ajustes adicionais no preâmbulo: adicionar o stackenginepacote; diga ao pacote para usar \#como fim de linha, pois tabularjá está em uso \\(observe que a stackengineversão 4.00 mais recente pode usar \\delimitadores de fim de linha, mesmo aninhados dentro de a tabular); e diga ao pacote para definir 12pt entre as linhas de base das linhas da pilha, pois tabularzera o valor de \baselineskip, que é o intervalo padrão da pilha longa. Observe que você pode fornecer o argumento \Longstacka [l]ou [r]opcional para alterá-lo do [c]alinhamento padrão.

\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}

insira a descrição da imagem aqui

Responder2

Não use cem \multicolumn{2}{c}{...mas

 \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}

insira a descrição da imagem aqui

informação relacionada