Zeilenumbruch wenn zu langer Text

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zeilenumbruch wenn zu langer Text

Re: Zeilenumbruch wenn zu langer Text

von MoeWe » Mi 8. Mai 2024, 09:35

p-Spalten setzen ihren Inhalt (wie einen normalen Absatz) in Blocksatz. Das bedeutet, dass TeX versucht, den Inhalt am rechten Rand der Zelle bündig auszurichten. Das geschieht unter anderem dadurch, dass größerer Leerraum zwischen Wörtern eingefügt wird (und die Silbentrennung aktiviert ist - das möchtest Du ja). Dieser Leerraum muss aber, gerade wenn nur wenig Platz ist, manchmal vergleichsweise groß werden, um für den Randausgleich zu sorgen. Das sieht eigentlich immer blöde aus, wenn man es auch wenig Text auf kleinem Raum anwendet. Wenn Du das nicht möchtest, dann solltest Du vom Blocksatz lieber auf linksbündig umschalten. Da gibt es bei https://tex.stackexchange.com/q/12703/35864 eine wunderbare Antwort für die drei klassischen Ausrichtungen linksbündig, zentriert, rechtsbündig.

Ich könnte mir bei Dir
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{microtype}
\usepackage{adjustbox}

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}

\begin{document}
  \begin{table}[htbp]
    \centering
    \Huge % Größere Schriftgröße
    \begin{adjustbox}{width=\textwidth}
      \renewcommand{\arraystretch}{2.5}
      \begin{tabular}{L{0.3\linewidth} L{0.3\linewidth} L{0.3\linewidth} }
        \hline
        Spalte1 & Spalte2 & Spalte3 \\
        \hline
        text & text & text \\
        text & text & text  \\
        text & Füßgängerüberwegampel  & text \\
        text & sehr sehr langer Text & text\\
        \hline
      \end{tabular}
    \end{adjustbox}
  \end{table}
\end{document}
vorstellen. Wobei Du auch mal ausprobieren kannst, ob es Dir besser gefällt, wenn Du statt p-Spalten (p{#1} in den \newcolumntype-Definitionen) lieber m (wie im Link) oder b verwendest.

Re: Zeilenumbruch wenn zu langer Text

von Stefan Kottwitz » Mi 8. Mai 2024, 08:56

In Bezug zur letzten Frage über den zu breiten Wortzwischenraum, da ist gar nichts zwischen den Worten einzufügen.

Stefan

Re: Zeilenumbruch wenn zu langer Text

von basti-fantasti-48 » Mi 8. Mai 2024, 07:52

ich meine nicht zum randausgleich sondern zwischen den Wörtern

Re: Zeilenumbruch wenn zu langer Text

von Stefan Kottwitz » Di 7. Mai 2024, 17:04

Das wäre die modifizierte Zeile 10 in Deinem letzten Beispiel.

Stefan

Re: Zeilenumbruch wenn zu langer Text

von basti-fantasti-48 » Di 7. Mai 2024, 16:03

wo muss ich das einfügen?

also konkret in meinem beispiel

Re: Zeilenumbruch wenn zu langer Text

von Stefan Kottwitz » Di 7. Mai 2024, 15:39

So modifiziert kannst Du abschalten, dass Zwischenräume zum Randausgleich eingefügt werden:
\newcolumntype{P}[1]{>{\raggedright\arraybackslash\hspace{0pt}}p{#1}}
Stefan

Re: Zeilenumbruch wenn zu langer Text

von basti-fantasti-48 » Di 7. Mai 2024, 14:52

jetzt habe ich noch das problem das nach dem umbruch so viel platz dazwischen ist also zwischen der und Signalwiedergabe
\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{microtype}
\usepackage{adjustbox}
\usepackage{array}
\newcolumntype{P}[1]{>{\hspace{0pt}}p{#1}}

\begin{document}
  \begin{table}[htbp]
    \centering
    \Huge % Größere Schriftgröße
    \begin{adjustbox}{width=\textwidth}
      \renewcommand{\arraystretch}{2.5}
      \begin{tabular}{P{0.3\linewidth} P{0.3\linewidth} P{0.3\linewidth} }
        \hline
        Spalte1 & Spalte2 & Spalte3 \\
        \hline
        text & text & text \\
        text & text & text  \\
        text & Neuberech-\newline der Signalwiedergabe  bei Produkt & text \\
        text & sehr sehr langer Text & text\\
        \hline
      \end{tabular}
    \end{adjustbox}
  \end{table}
\end{document}

Re: Zeilenumbruch wenn zu langer Text

von Stefan Kottwitz » Di 7. Mai 2024, 10:24

Du kannst \newline oder \allowbreak an der Stelle einsetzen.

Stefan

Re: Zeilenumbruch wenn zu langer Text

von basti-fantasti-48 » Di 7. Mai 2024, 10:13

super danke. aber wie kann ich einen Zeilenumbruch "erzwingen" also genau da wo ich will?

Re: Zeilenumbruch wenn zu langer Text

von Stefan Kottwitz » Di 7. Mai 2024, 09:24

Bei seqsplit kann man Sonderzeichen einklammern, dann kommt der Fehler nicht: \seqsplit{F{ü}{ß}g{ä}nger{ü}berwegampel}

Stefan

Nach oben