
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
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 consumption
como uma palavra individual: basta substituir D\_alcohol\_consumption
por
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 consumption
na 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}
.
\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}