Hbox excessivo (Como transformar a frase de uma tabela em 2 linhas?)

Hbox excessivo (Como transformar a frase de uma tabela em 2 linhas?)
\begin{table}[h!]
    \centering
    \begin{tabular}{l|c |c |c |c |c |c}
         1 & 2 & 3 & 4jkjhkjkhjhkjkjkjl & 5fsdsadsadasdsadsadasdsadsa & 6dasdsadasdasdasdasdsadasdsa \\
         \hline
         1 & 2 & 3 \\
         1 & 2 & 3 \\
    \end{tabular}
    \caption{tes}
    \label{tab:my_label}
\end{table}

Saída:

insira a descrição da imagem aqui

Como transformar "5fsdsadsadasdsadsadasdsadsa" em 2 linhas? Por exemplo:

5fsdsadsadasd
sadsadasdsadsa

Responder1

Você não indicouQuão largoas colunas 4, 5 e 6 deveriam ser. Portanto, presumo que eles deveriam serigualmente largo. Assumirei ainda que a largura total do material tabular deve ser \textwidth, ou seja, tão larga quanto o bloco de texto. O código abaixo emprega um tabularxambiente e três colunas do tipo X.

Como não há uma maneira óbvia - pelo menos para mim... - de decidir onde as strings "5fsdsadsadasdsadsadasdsadsa" e "6dasdsadasdasdasdasdsadasdsa" devem ser divididas, usarei a \seqsplitmacro para forçar a ocorrência de quebras de linha sempre que as strings atingirem o larguras das respectivas células.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{tabularx,seqsplit}
\begin{document}
\begin{table}[h!]
\setlength\extrarowheight{2pt} % for a ever so slightly more open "look"
    \begin{tabularx}{\textwidth}{|c |c |c |X |X |X |}
    \hline
    1 & 2 & 3 & 
         \seqsplit{4jkjhkjkhjhkjkjkjl} & 
         \seqsplit{5fsdsadsadasdsadsadasdsadsa} & 
         \seqsplit{6dasdsadasdasdasdasdsadasdsa} \\
         \hline
    1 & 2 & 3 & & & \\
    1 & 2 & 3 & & & \\
    \hline
    \end{tabularx}
\caption{tes}
\label{tab:my_label}
\end{table}
\end{document}

Responder2

insira a descrição da imagem aqui

\documentclass{article}

\begin{document}

\begin{table}[htp]% h on its own is asking for trouble
    \centering
    \begin{tabular}{l|c |c |c |c |c |c}
         1 & 2 & 3 & 4jkjhkjkhjhkjkjkjl & 
\begin{tabular}{@{}c@{}}5fsdsadsadasd\\sadsadasdsadsa\end{tabular} &
\begin{tabular}{@{}c@{}}6dasdsadasdasd\\asdasdsadasdsa\end{tabular} \\
         \hline
         1 & 2 & 3 \\
         1 & 2 & 3 \\
    \end{tabular}
    \caption{tes}
    \label{tab:my_label}
\end{table}
\end{document}

informação relacionada