
Já procurei por esse problema mas nenhuma solução funcionou para mim...
Existe uma maneira fácil de obter uma quebra de linha em uma célula de uma tabela?
Eu só gosto de hifenizar Gleitführung
para: 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}
\\
Já tentei algumas soluções com \parbox
, \mbox
, ... não funcionou.
Responder1
Não há quebra de linha na palavra "Gleitführung", pois você está usando o l
tipo de coluna para a primeira coluna. A largura da l
coluna é simplesmente a da célula mais larga dessa coluna.
Para permitir a quebra automática de linha junto com a hifenização adequada nesta coluna, sugiro que você (a) mude para o p
tipo de coluna com uma largura adequadamente escolhida e (b) habilite a hifenização emitindo uma \RaggedRight
diretiva, bem como uma \hspace{0pt}
diretiva na configuração desta coluna . E, caso você ainda não esteja fazendo isso, você também precisará carregar o babel
pacote com uma opção de idioma adequada – provavelmente, 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}
Responder2
Com um l, c, r
tipo de coluna, você pode usar o | \makecell
ou \thead
comandos do makecell
pacote, que foi projetado para isso, e uma formatação comum de cabeçalhos de coluna. Eu também usaria hhline
e modificaria ligeiramente os parâmetros da lista:
\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}
Responder3
Uma variante da boa resposta de Bernard, na qual o pacote cellspace
é usado para obter mais espaço vertical nas células e itemize
configurações é coletado em \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}
Responder4
É meio que um hack, mas você pode definir um tabular dentro de um tabular:
\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}
\\