
Estoy intentando hacer una tabla grande donde cada uno de los cuadros tenga varias líneas de texto una debajo de la otra. Intenté \newline
pasar \linebreak
a una nueva línea, pero ninguna de las dos funcionó. El comando \\
proporciona una nueva línea, pero finaliza la línea completa en toda la tabla.
¿Alguien puede sugerirme cómo podría obtener una nueva línea o quizás un paquete mejor para usar?
Respuesta1
Usar parbox{}{}
como en:
\documentclass{standalone}
\begin{document}
\begin{tabular}{ll}
\hline
row 1, column 1, line 1 & \parbox{5cm}{row 1, column 2, line 1 \\ row 1, column 2, line 2 \\ row 1, column 2, line 3} \\ \hline
\parbox{5cm}{row 2, column 1, line 1 \\ row 2, column 1, line 2} & row 2, column 2, line 1 \\
\hline
\end{tabular}
\end{document}
Respuesta2
Hay varias soluciones posibles. A continuación se muestran dos enfoques. El primero se basa únicamente en comandos estándar. Aunque lo he utilizado booktabs
por motivos estéticos, esto no es imprescindible para la solución. El segundo uso tabularx
.
\documentclass{article}
\usepackage{tabularx,booktabs}
\begin{document}
One method involves using the standard \verb|p{<width>}| column specifier. This requires knowing how wide you want the columns but it allows you to use \verb|\newline| and does not require additional packages. Table \ref{tab:standard} does use commands from \verb|booktabs| to improve the tabular's appearance but you could replace with \verb|\hline| etc.\ if preferred.
\begin{table}
\centering
\begin{tabular}{*{2}{p{.285\linewidth}}}
\toprule
row 1, column 1, line 1 & row 1, column 2, line 1\newline row 1, column 2, line 2\newline row 1, column 2, line 3\\\midrule
row 2, column 1, line 1\newline row 2, column 1, line 2 & row 2, column 2, line 1 \\
\bottomrule
\end{tabular}
\caption{Tabular with standard commands}\label{tab:standard}
\end{table}
\bigskip
If you don't know how wide the columns should be and don't wish to figure it out, but you can specify the overall width of the tabular, \verb|tabularx| can be used. This supports the \verb|X| column specifier which figures out the width based on the overall tabular width. It also allows \verb|\newline|. Table \ref{tab:tabularx} again uses \verb|booktabs| but that is for merely aesthetic reasons.
\begin{table}
\centering
\begin{tabularx}{.65\linewidth}{XX}
\toprule
row 1, column 1, line 1 & row 1, column 2, line 1\newline row 1, column 2, line 2\newline row 1, column 2, line 3\\\midrule
row 2, column 1, line 1\newline row 2, column 1, line 2 & row 2, column 2, line 1 \\
\bottomrule
\end{tabularx}
\caption{Tabular with tabularx}\label{tab:tabularx}
\end{table}
\end{document}
Respuesta3
No mencionado en los enlaces anteriores, el makecell
paquete define \makecell
, thead
y comandos que aceptan el uso de y pueden personalizarse aún más (elección de fuente, rotación, espacios diaghead
verticales , etc.). Se pueden cambiar el grosor de las líneas h y las líneas.\multirowcell
\\
Vereste hilopara tener un ejemplo de su uso.