
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ührung
zu: 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 l
Spaltentyp für die erste Spalte verwenden. Die Breite der l
Spalte 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 p
Spaltentyp mit einer entsprechend gewählten Breite wechseln und (b) die Silbentrennung aktivieren, indem Sie eine \RaggedRight
Direktive sowie eine \hspace{0pt}
Direktive im Setup dieser Spalte ausgeben. Und falls Sie dies nicht bereits tun, müssen Sie das babel
Paket auch mit einer geeigneten Sprachoption laden – höchstwahrscheinlich ngerman
.
\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, r
Spaltentyp kann man die | \makecell
oder \thead
-Befehle aus dem makecell
dafür vorgesehenen Paket verwenden und eine gängige Formatierung der Spaltenköpfe. Ich würde auch hhline
die 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}
Antwort3
Eine Variante der netten Antwort von Bernard, in der das Paket für mehr vertikalen Platz in Zellen und Einstellungen cellspace
verwendet 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}
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}
\\