Como forçar automaticamente o látex a não justificar o texto quando não é sensato?

Como forçar automaticamente o látex a não justificar o texto quando não é sensato?

Eu tenho o seguinte exemplo:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[brazil]{babel}

\usepackage{array,ragged2e}

\begin{document}

\section{Riscos}

    \begin{tabular}{|p{2.5cm}|p{2.5cm}|p{2.0cm}|p{2.0cm}|p{2.5cm}|p{2.5cm}|}

    \hline Riscos                       & Probabilidade & Impacto & Prioridade & Resposta            & Prevenção                    \\ \hline
    \hline Problemas com notebook       & Baixa         & Médio   & Alta       & Usar desktop        & Manutenção preventiva        \\
    \hline Problemas com o desktop      & Baixa         & Alto    & Alta       & Usar o labUFSC      & Manutenção preventiva        \\
    \hline Problemas com perda de dados & Baixa         & Alto    & Alta       & Uso do backup       & Backup periódicos            \\
    \hline Problemas de Saúde           & Baixa         & Alto    & Alta       & Tratamento adequado & Cuidados diários apropriados \\ \hline

    \end{tabular}

\end{document}

O que gera este PDF:

insira a descrição da imagem aqui

A letra oconforme apontada na imagem, não deve ser colocada/justificada à direita do espaço. Acho que o látex deveria ser capaz de identificar tal aberração.

Minha pergunta é: existe alguma maneira de forçar o látex a não justificar automaticamente o texto quando as palavras são muito esparsas, como no exemplo acima?

Pesquisei muito e descobri que posso forçar manualmente algumas palavras para não ficarem mal justificadas, porém não gosto da ideia de fazer isso manualmente porque poderia ser feito automaticamente pelo próprio látex, quando certas condições forem atendidas, ou seja, certos limites de espaçamento são cruzados.


Atualizar

Respondendo ao comentário, gostaria que o látex não justificasse as palavras caso ultrapassassem a largura mínima e de acordo com a contagem de caracteres da linha atual.

Por exemplo, se a linha tiver menos de 50 caracteres e a justificação criar um buraco maior que 30 pixels ou 6 caracteres, a justificação não deverá ser aplicada para essa linha.

Responder1

Aqui estão três versões da tabela usando

  • as embalagens arraye ragged2einserir \RaggedRightno início de cada célula; isso leva a mais possibilidades de quebras de linha, o que é útil para colunas estreitas.

  • a embalagem arraya inserir \raggedrightno início de cada célula; isso leva a menos quebras de linha, mas o texto fica alinhado à esquerda.

  • os pacotes arraye booktabs; é como a segunda versão, mas sem linhas verticais.


matriz, ragged2e e RaggedRight

insira a descrição da imagem aqui

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[brazil]{babel}

\usepackage{array,ragged2e}

\begin{document}

\noindent
\begin{tabular}{|*2{>{\RaggedRight\arraybackslash}p{2.5cm}|}
                 *2{>{\RaggedRight\arraybackslash}p{2.0cm}|}
                 *2{>{\RaggedRight\arraybackslash}p{2.5cm}|}}

    \hline Riscos                       & Probabilidade & Impacto & Prioridade & Resposta            & Prevenção                    \\ \hline
    \hline Problemas com notebook       & Baixa         & Médio   & Alta       & Usar desktop        & Manutenção preventiva        \\
    \hline Problemas com o desktop      & Baixa         & Alto    & Alta       & Usar o labUFSC      & Manutenção preventiva        \\
    \hline Problemas com perda de dados & Baixa         & Alto    & Alta       & Uso do backup       & Backup periódicos            \\
    \hline Problemas de Saúde           & Baixa         & Alto    & Alta       & Tratamento adequado & Cuidados diários apropriados \\ \hline

\end{tabular}

\end{document}

matriz e \raggedright

insira a descrição da imagem aqui

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[brazil]{babel}

\usepackage{array}

\begin{document}

\noindent
\begin{tabular}{|*2{>{\raggedright\arraybackslash}p{2.5cm}|}
                 *2{>{\raggedright\arraybackslash}p{2.0cm}|}
                 *2{>{\raggedright\arraybackslash}p{2.5cm}|}}

    \hline Riscos                       & Probabilidade & Impacto & Prioridade & Resposta            & Prevenção                    \\ \hline
    \hline Problemas com notebook       & Baixa         & Médio   & Alta       & Usar desktop        & Manutenção preventiva        \\
    \hline Problemas com o desktop      & Baixa         & Alto    & Alta       & Usar o labUFSC      & Manutenção preventiva        \\
    \hline Problemas com perda de dados & Baixa         & Alto    & Alta       & Uso do backup       & Backup periódicos            \\
    \hline Problemas de Saúde           & Baixa         & Alto    & Alta       & Tratamento adequado & Cuidados diários apropriados \\ \hline

\end{tabular}

\end{document}

array, booktabs e \raggedright

insira a descrição da imagem aqui

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper, margin=2cm]{geometry}
\usepackage[brazil]{babel}

\usepackage{array,booktabs}

\begin{document}

\noindent
\begin{tabular}{*2{>{\raggedright\arraybackslash}p{2.5cm}}
                *2{>{\raggedright\arraybackslash}p{2.0cm}}
                *2{>{\raggedright\arraybackslash}p{2.5cm}}}
\toprule
    Riscos                       & Probabilidade & Impacto & Prioridade & Resposta            & Prevenção                    \\
\midrule
    Problemas com notebook       & Baixa         & Médio   & Alta       & Usar desktop        & Manutenção preventiva        \\
\midrule
    Problemas com o desktop      & Baixa         & Alto    & Alta       & Usar o labUFSC      & Manutenção preventiva        \\
\midrule
    Problemas com perda de dados & Baixa         & Alto    & Alta       & Uso do backup       & Backup periódicos            \\
\midrule
    Problemas de Saúde           & Baixa         & Alto    & Alta       & Tratamento adequado & Cuidados diários apropriados \\
\bottomrule
\end{tabular}

\end{document}

informação relacionada