Neue Zeile oder Zeilenumbruch in einer Tabelle

Neue Zeile oder Zeilenumbruch in einer Tabelle

Ich habe bereits nach diesem Problem gesucht, aber keine der Lösungen hat bei mir funktioniert ...

Gibt es eine einfache Möglichkeit, einen Zeilenumbruch in eine Zelle einer Tabelle einzufügen?

Ich verwende einfach gerne einen Bindestrich Gleitführungzu: Gleit- \newline führung.

\begin{table}[htb!]
\begin{tabularx}{\textwidth}{|l||X|X|}
\hline
 & \textbf{\large Vorteile} & \textbf{\large Nachteile}\\
\hline

\textbf{Gleitführung} & \vspace{-0,6cm}
\begin{itemize}[itemsep=-4pt]
\item blablabla
\vspace{-\baselineskip}
\end{itemize}

&

\vspace{-0,6cm}
\begin{itemize}[itemsep=-4pt]
\item blablabla
\vspace{-\baselineskip}
\end{itemize}
\\

Habe bereits einige Lösungen mit \parbox, \mbox, ... ausprobiert, hat nicht funktioniert.

Antwort1

Im Wort „Gleitführung“ gibt es keinen Zeilenumbruch, da Sie den lSpaltentyp für die erste Spalte verwenden. Die Breite der lSpalte entspricht einfach der breitesten Zelle in dieser Spalte.

Um einen automatischen Zeilenumbruch und eine korrekte Silbentrennung in dieser Spalte zu ermöglichen, schlage ich vor, dass Sie (a) zu einem pSpaltentyp mit einer entsprechend gewählten Breite wechseln und (b) die Silbentrennung aktivieren, indem Sie eine \RaggedRightDirektive sowie eine \hspace{0pt}Direktive im Setup dieser Spalte ausgeben. Und falls Sie dies nicht bereits tun, müssen Sie das babelPaket auch mit einer geeigneten Sprachoption laden – höchstwahrscheinlich ngerman.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,enumitem,ragged2e}
\begin{document}
\begin{table}[htb!]
\setlength\extrarowheight{3pt} % for a more "open" look
\begin{tabularx}{\textwidth}{%
     |>{\RaggedRight\hspace{0pt}}p{1.5cm}|
     |X|X|}
\hline
 & \bfseries\large Vorteile & \bfseries\large Nachteile\\
\hline
\textbf{Gleitführung}
&
\begin{itemize}[nosep,leftmargin=*]
\item blablabla
\item blebleble
\end{itemize}
&
\begin{itemize}[nosep,leftmargin=*]
\item bliblibli
\item blobloblo
\end{itemize}\\
\hline
\end{tabularx}
\end{table}
\end{document}

Antwort2

Bei einem l, c, rSpaltentyp kann man die | \makecelloder \thead-Befehle aus dem makecelldafür vorgesehenen Paket verwenden und eine gängige Formatierung der Spaltenköpfe. Ich würde auch hhlinedie Listenparameter verwenden und leicht modifizieren:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,enumitem,ragged2e, makecell, hhline}
\renewcommand\theadfont{\large\bfseries}
\renewcommand\cellset{\bfseries}
\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}}

\begin{document}

\begin{table}[htb!]
\setlength\extrarowheight{4pt} % for a more "open" look
\begin{tabularx}{\textwidth}{|l| |X|X|}%
\hhline{|-||--|}
 & \thead{Vorteile} & \thead{Nachteile} \\
\hhline{|-||--|}
 \makecell[lc]{Gleit-\\führung}
&
\begin{itemize}[topsep=1pt, itemsep=1pt, leftmargin=*, after=\leavevmode\vspace*{-\baselineskip}]
\item blablabla
\item blebleble
\end{itemize}
&
\begin{itemize}[topsep=1pt, itemsep=1pt, leftmargin=*, after=\leavevmode\vspace*{-\baselineskip}]
\item bliblibli
\item blobloblo
\end{itemize}\\
\hhline{|-||--|}
\end{tabularx}
\end{table}

\end{document} 

Bildbeschreibung hier eingeben

Antwort3

Eine Variante der netten Antwort von Bernard, in der das Paket für mehr vertikalen Platz in Zellen und Einstellungen cellspaceverwendet wird, ist hier zusammengefasst :itemize\setlist{...}

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cellspace, hhline, makecell, tabularx}
\renewcommand\theadfont{\large\bfseries}
\renewcommand\cellset{\bfseries}
%\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash}m{#1}}
\usepackage{enumitem}
˙%\usepackage{ragged2e}

\begin{document}

\begin{table}[htb!]
\setlist[itemize]{nosep, topsep=1pt, itemsep=1pt, leftmargin=*,
                  before=\leavevmode\vspace{-\baselineskip}}                          
                  after =\leavevmode\vspace{-\baselineskip}}% <-- itemize settings
\setlength\cellspacetoplimit{4pt}% <-- cells' vertical space settings
\setlength\cellspacebottomlimit{4pt}% <-- cells' vertical space settings
    \begin{tabularx}{\textwidth}{|Sl| |X|X|}% <-- Sl is column type which consider vertical spaces added by "cellspace" package
\hhline{|-||--|}
 & \thead{Vorteile} & \thead{Nachteile} \\
\hhline{|-||--|}
 \makecell[lc]{Gleit-\\führung}
&
\begin{itemize}
\item blablabla
\item gagagaga
\end{itemize}
&
\begin{itemize}
\item bliblibli
\item blobloblo
\end{itemize}\\
\hhline{|-||--|}
\end{tabularx}
    \end{table}
\end{document}

Bildbeschreibung hier eingeben

Antwort4

Eine Art Hack, aber Sie können eine Tabelle innerhalb einer Tabelle definieren:

\begin{table}[htb!]
\begin{tabularx}{\textwidth}{|l||X|X|}
\hline
 & \textbf{\large Vorteile} & \textbf{\large Nachteile}\\
\hline

\begin{tabular}{c}\textbf{Gleit}\\\textbf{führung} & \vspace{-0,6cm}
\begin{itemize}[itemsep=-4pt]
\item blablabla
\vspace{-\baselineskip}
\end{itemize}

&

\vspace{-0,6cm}
\begin{itemize}[itemsep=-4pt]
\item blablabla
\vspace{-\baselineskip}
\end{itemize}
\\

verwandte Informationen