Zeilenumbruch wenn zu langer Text Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


basti-fantasti-48
Forum-Century
Forum-Century
Beiträge: 161
Registriert: So 4. Apr 2021, 14:27

Zeilenumbruch wenn zu langer Text

Beitrag von basti-fantasti-48 »

\documentclass{scrreprt}			

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern} 		
\renewcommand{\familydefault}{\sfdefault} 
\usepackage{sansmath}  
\sansmath 						 
\usepackage{microtype}	
\usepackage{csquotes}	
\usepackage{graphicx}
\graphicspath{{bilder/}}
\usepackage{svg}
\usepackage{adjustbox}

\usepackage{booktabs}
\usepackage{amsmath,amssymb}
\hyphenation{Crash-zo-ne}


\usepackage{longtable} 


\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 & Fußgängerüberweg & text \\
				text & sehr sehr langer Text & text\\
			
				\hline
			\end{tabular}
		\end{adjustbox}
	
	\end{table}
	%----------------------------------------
\end{document}
Hallo ich möchte wenn der Text zu lange ist einen Umbruch. Dies macht er nur wenn Leerzeichen dabei sind aber nicht wenn es nur ein Wort ist. Wie mache ich das also das in der dritten Zeile es so ist wie in der vierten
Zuletzt geändert von basti-fantasti-48 am Di 7. Mai 2024, 08:20, insgesamt 1-mal geändert.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2547
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Zeilenumbruch wenn zu langer Text

Beitrag von Stefan Kottwitz »

Hallo,

Du kannst das seqsplit-Paket verwenden:
\documentclass{scrreprt}			
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern} 		
\renewcommand{\familydefault}{\sfdefault} 
\usepackage{microtype}
\usepackage{adjustbox}
\usepackage{seqsplit} 

\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 & \seqsplit{sehrlangertextohneleerzeichen}  & text \\
				text & sehr sehr langer Text & text\\
			
				\hline
			\end{tabular}
		\end{adjustbox}
	
	\end{table}
	%----------------------------------------
\end{document}
Stefan

basti-fantasti-48
Forum-Century
Forum-Century
Beiträge: 161
Registriert: So 4. Apr 2021, 14:27

Re: Zeilenumbruch wenn zu langer Text

Beitrag von basti-fantasti-48 »

Ok danke geht aber wenn ein scharfes s (ß) drin ist dann geht passt es nicht ganz

basti-fantasti-48
Forum-Century
Forum-Century
Beiträge: 161
Registriert: So 4. Apr 2021, 14:27

Re: Zeilenumbruch wenn zu langer Text

Beitrag von basti-fantasti-48 »

\documentclass{scrreprt}			
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern} 		
\renewcommand{\familydefault}{\sfdefault} 
\usepackage{microtype}
\usepackage{adjustbox}
\usepackage{seqsplit} 

\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 & \seqsplit{Füßgängerüberwegampel}  & text \\
				text & sehr sehr langer Text & text\\
			
				\hline
			\end{tabular}
		\end{adjustbox}
	
	\end{table}
	%----------------------------------------
\end{document}
es passt aber jetzt gibt es probleme mit scharfem ß und ä. Scharfes ß kann ich mit \ss lösen aber ä nicht

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 805
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Zeilenumbruch wenn zu langer Text

Beitrag von MoeWe »

TeX möchte von sich aus das erste Wort in einem Absatz nie trennen. Innerhalb der Tabelle verhält sich jede neue Zelle wie ein neuer Absatz, sodass das erste Wort in einer Zelle nie getrennt wird. Wir können TeX etwas austricksen, indem wir vor das erste Wort einen Leerraum der Länge 0 setzen. Dann ist das Wort nicht mehr das erste im Absatz und wird getrennt. In der Tabelle können wir das Hinzufügen dieses Leerraums mit einem neuen Spaltentypen automatisieren.
\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 & Füßgängerüberwegampel  & text \\
        text & sehr sehr langer Text & text\\
        \hline
      \end{tabular}
    \end{adjustbox}
  \end{table}
\end{document}

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2547
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Zeilenumbruch wenn zu langer Text

Beitrag von Stefan Kottwitz »

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

Stefan

basti-fantasti-48
Forum-Century
Forum-Century
Beiträge: 161
Registriert: So 4. Apr 2021, 14:27

Re: Zeilenumbruch wenn zu langer Text

Beitrag von basti-fantasti-48 »

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

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2547
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Zeilenumbruch wenn zu langer Text

Beitrag von Stefan Kottwitz »

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

Stefan

basti-fantasti-48
Forum-Century
Forum-Century
Beiträge: 161
Registriert: So 4. Apr 2021, 14:27

Re: Zeilenumbruch wenn zu langer Text

Beitrag von basti-fantasti-48 »

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}

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2547
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Zeilenumbruch wenn zu langer Text

Beitrag von Stefan Kottwitz »

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

Antworten