Wie kann man Latex automatisch dazu zwingen, den Text nicht im Blocksatz auszurichten, wenn dies nicht sinnvoll ist?

Wie kann man Latex automatisch dazu zwingen, den Text nicht im Blocksatz auszurichten, wenn dies nicht sinnvoll ist?

Ich habe folgendes Beispiel erhalten:

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

Dadurch wird dieses PDF generiert:

Bildbeschreibung hier eingeben

Der Buchstabe odarf nicht wie auf dem Bild gezeigt rechts vom Leerzeichen platziert/ausgerichtet werden. Ich denke, Latex sollte in der Lage sein, eine solche Abweichung zu erkennen.

Meine Frage lautet: Gibt es eine Möglichkeit, Latex dazu zu zwingen, den Text nicht automatisch im Blocksatz auszurichten, wenn die Wörter zu spärlich stehen, wie im obigen Beispiel?

Ich habe lange gesucht und herausgefunden, dass ich die Ausrichtung mancher Wörter manuell ändern kann. Allerdings gefällt mir die Idee nicht, dies manuell zu tun, weil Latex dies auch automatisch erledigen könnte, wenn bestimmte Bedingungen erfüllt sind, d. h. bestimmte Abstandsgrenzen überschritten werden.


Aktualisieren

Als Antwort auf den Kommentar möchte ich, dass Latex die Wörter nicht im Blocksatz ausrichtet, wenn sie eine Mindestbreite überschreiten und zwar entsprechend der Zeichenanzahl der aktuellen Zeile.

Wenn die Zeile beispielsweise weniger als 50 Zeichen hat und durch die Ausrichtung ein Loch entsteht, das größer als etwa 30 Pixel oder 6 Zeichen ist, darf die Ausrichtung für diese Zeile nicht angewendet werden.

Antwort1

Hier sind drei Versionen der Tabelle mit

  • der Pakete arrayund ragged2ezum Einfügen \RaggedRightam Anfang jeder Zelle; dadurch ergeben sich mehr Möglichkeiten für Zeilenumbrüche, was bei schmalen Spalten sinnvoll ist.

  • das Paket array, das am Anfang jeder Zelle eingefügt werden soll \raggedright; dies führt zu weniger Zeilenumbrüchen, der Text wird aber linksbündig ausgerichtet.

  • die Pakete arrayund booktabs; dies ist wie die zweite Version, aber ohne vertikale Linien.


Array, ragged2e und \RaggedRight

Bildbeschreibung hier eingeben

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

Array und \raggedright

Bildbeschreibung hier eingeben

\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 und \raggedright

Bildbeschreibung hier eingeben

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

verwandte Informationen