
Ya busqué este problema pero ninguna solución funcionó para mí...
¿Existe una manera sencilla de obtener un salto de línea en una celda de una tabla?
Simplemente me gusta dividir Gleitführung
con guiones: 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}
\\
Ya probé algunas soluciones con \parbox
, \mbox
, ... no funcionaron.
Respuesta1
No hay ningún salto de línea en la palabra "Gleitführung" ya que estás usando el l
tipo de columna para la primera columna. El ancho de la l
columna es simplemente el de la celda más ancha de esa columna.
Para permitir el salto de línea automático junto con la separación de palabras adecuada en esta columna, le sugiero que (a) cambie al p
tipo de columna con un ancho elegido adecuadamente y (b) habilite la separación de palabras emitiendo una \RaggedRight
directiva, así como una \hspace{0pt}
directiva en la configuración de esta columna. . Y, en caso de que aún no esté haciendo esto, también necesitará cargar el babel
paquete con una opción de idioma adecuada (lo más probable es que sea 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}
Respuesta2
Con un l, c, r
tipo de columna, puede utilizar el | \makecell
o \thead
comandos del makecell
paquete, que fue diseñado para eso, y un formato común de encabezados de columna. También usaría hhline
y modificaría ligeramente los parámetros de la 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}
Respuesta3
Una variante de la agradable respuesta de Bernard, en la que el paquete cellspace
se usa para más espacio vertical en celdas y itemize
configuraciones, se recopila en \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}
Respuesta4
Es una especie de truco, pero puedes definir una tabla dentro de una tabla:
\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}
\\