Quebra de linha com sublinhados em tabela longa

Quebra de linha com sublinhados em tabela longa

Eu tenho o seguinte código:

\begin{landscape}

\setlength\tabcolsep{3pt}
\begin{longtable}{m{0.5cm}|m{3cm}|m{3cm}|m{3cm}|m{9cm}}
\hline
\textbf{C1}&\textbf{Col2}&\textbf{Col3}&\textbf{Col4}&\textbf{Col5}\\
\hline
\endfirsthead
\endfoot
1&Self-report&-&D\_alcohol\_consumption&\\\hline
2&Self-report&-&Trastorno del pensamiento controlado&\\\hline
3&Self-report&-&D-alcohol-consumption&\\\hline
\end{longtable} 

\end{landscape}

Produz esta tabela

insira a descrição da imagem aqui

Preciso colocar nomes de variáveis ​​muito longos na coluna "Col4" e muitas delas possuem sublinhados, como a primeira linha. Mas não cabe na célula e se estende até “Col5”. O que espero é quebrar automaticamente a linha como a segunda linha.

Acho que é algo relacionado ao sublinhado, pois na terceira linha substituí por hífens e é o que eu esperava. Mas preciso usar os sublinhados.

Alguma sugestão para manter os sublinhados?

Responder1

Basicamente, e talvez sem surpresa, ninguém informou ao LaTeX até agora como hifenizar a “palavra”

D\_alcohol\_consumption

Felizmente, existe uma maneira fácil de informar ao LaTeX que ele pode tratar a substring consumptioncomo uma palavra individual: basta substituir D\_alcohol\_consumptionpor

D\_alcohol\_\hspace{0pt}consumption

Um comentário separado: Por padrão, o LaTeX não hifeniza palavras que contenham uma ou mais instâncias de -(o caractere hífen). Se você quiser permitir que o LaTeX hifenize a palavra consumptionna palavra hifenizada composta D-alcohol-consumption, tudo o que você precisa fazer é reescrevê-la como

D-alcohol-\hspace{0pt}consumption

Comentário final: Tendo em vista a estreiteza de algumas colunas, eu usaria um layout irregular à direita para essas colunas em vez da justificação completa (que é o padrão), embora ainda permitisse a hifenização quando necessário. Isto pode ser conseguido automaticamente prefixando o especificador de coluna com >{\RaggedRight}; veja o código abaixo para saber como implementar esse pensamento. (Se você realmente deseja suprimir a hifenização, basta substituir >{\RaggedRight}por >{\raggedright\arraybackslash}.


insira a descrição da imagem aqui

\documentclass{article}
\usepackage{array}
\usepackage{ragged2e} % for '\RaggedRight' macro
\begin{document}

\begin{tabular}{@{} >{\RaggedRight}p{3.1cm} @{}}
\hline
D\_alcohol\_\hspace{0pt}consumption \\ \hline
D-alcohol-consumption \\               \hline
D-alcohol-\hspace{0pt}consumption \\   \hline
\end{tabular}

\end{document}

Responder2

Eu descobri usando o pacote hyphenat

\usepackage{hyphenat}
\begin{landscape}

\setlength\tabcolsep{3pt}
\begin{longtable}{m{0.5cm}|m{3cm}|m{3cm}|m{3cm}|m{9cm}}
\hline
\textbf{C1}&\textbf{Col2}&\textbf{Col3}&\textbf{Col4}&\textbf{Col5}\\
\hline
\endfirsthead
\endfoot
1&Self-report&-&D\_alcohol\_consumption&\\\hline
2&Self-report&-&Trastorno del pensamiento controlado&\\\hline
3&Self-report&-&D-alcohol-consumption&\\\hline
\end{longtable}

\end{landscape}

insira a descrição da imagem aqui

informação relacionada