¿Cómo hago una tabla usando \begin{table*}
en LaTeX?
La tabla I que estoy tratando de crear es un poco complicado y debería verse así:
Lo siento por las líneas torcidas de la imagen.
Hasta ahora, solo he podido hacer algo simple:
\begin{table*}[t] \centering \begin{tabular}{ *1c | *3c | *3c | *2c | } & & & & & & & & & & & & \\ % Keep adding as many numbers of rows, etc. \end{tabular} \end{table}
Con este código, tengo las siguientes columnas: Nombre, Texto 1, Texto 2, Texto 3, Texto 4, Texto 5, Texto 6, Texto 7 y Texto 8. Y puedo agregar tantas filas como quiera en la mesa.
No tengo las etiquetas de Categoría 1, Categoría 2 y Categoría 3 en el lado izquierdo y superior de la imagen.
Comentarios
Respuesta
Este es un punto de partida . El espaciado puede y debe ajustarse, pero esto solo tiene sentido una vez que haya llenado la tabla.
\documentclass{article} \usepackage{rotating} \newcommand\sw[1]{\begin{sideways}#1\end{sideways}} \usepackage{multirow} \begin{document} \begin{tabular}{r|l|*8{c|}} \multicolumn{2}{c|}{} & \multicolumn{3}{c|}{Category 1} & \multicolumn{3}{c|}{Category 2} & \multicolumn{2}{c|}{Category 3} \\\cline{3-10} & Name & \sw{Text1} & \sw{Text2} & \sw{Text3} & \sw{Text4} & \sw{Text5} & \sw{Text6} & \sw{Text7} & \sw{Text8} \\\hline \multirow{4}{*}{\sw{\small Category 1}} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\hline \multirow{4}{*}{\sw{\small Category 2}} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\cline{2-10} & & & & & & & & & \\\hline \end{tabular} \end{document}
Editar: Cómo aumentar el número de columnas en la Categoría 3 de 2 a 6, como se pide en los comentarios:
-
Cambie la línea que comienza la tabla a
\begin{tabular}{r|l|*{12}{c|}}
-
Cambie
\multicolumn
del título a\multicolumn{6}{c|}{Category 3}
-
Cambie los comandos
\cline
a\cline{3-14}
y\cline{2-14}
, respectivamente. -
Debe agregar columnas en todas las filas, incluso si permanecen vacías, para tener líneas verticales. Esto significa agregar
& \sw{Text9} & \sw{Text10} & \sw{Text11} & \sw{Text12}
para los encabezados de columna y extender las otras líneas a
& & & & & & & & & & & & &
Comentarios
- Todavía estoy tratando de entender esto. ¿Podría dar un consejo sobre cómo aumentar el número de columnas de 2 a 6 en la categoría 3 (es decir, tengo – Texto 7,8,9,10,11,12) También, ¿cómo ajusto el espaciado? /
- Ver la edición de mi respuesta. Definitivamente deberías leer algún tutorial sobre cómo funcionan las tablas en LaTeX, de lo contrario tienes que preguntar con cada cambio que quieras hacer. En cuanto al espaciado, pospóngalo hasta que haya terminado con la mesa; luego pregunte de nuevo si ‘ no le gusta algo en particular.
- Así que solo tengo un problema de espaciado. ¿Cómo hago esto bien? Se ve así: drive.google.com/open?id=0B6unL1yNveR6eGlNUXZjaUdNVzA Sí, revisé la documentación y trabajaré en tablas.
- Básicamente, el texto de la categoría 1 y la categoría 2 están colisionando en el lado izquierdo de la tabla y la sexta columna es un poco más ancha por defecto.
- Lo descubrí. No estaba usando el número correcto en la opción de filas múltiples, pero la sexta columna es aún más ancha.
Respuesta
Es posible que prefiera utilizar las pestañas de libros.
\documentclass{standalone} \usepackage{booktabs} \usepackage{rotating} \newcommand\sw[1]{\small\begin{sideways}#1 \end{sideways}} \usepackage{multirow} \begin{document} \def\arraystretch{1.25} \begin{tabular}{rl*8{c}} \toprule \multicolumn{2}{c}{} & \multicolumn{3}{c}{Category 1} & \multicolumn{3}{c}{Category 2} & \multicolumn{2}{c}{Category 3} \\ & Name & \sw{Text1} & \sw{Text2} & \sw{Text3} & \sw{Text4} & \sw{Text5} & \sw{Text6} & \sw{Text7} & \sw{Text8} \\ \midrule \multirow{4}{*}{\sw{Category 1}} & a & A & & & & & & & \\ & b & B & & & & & & & \\ & c & C & & & & & & & \\ & d & D & & & & & & & \\ \multirow{4}{*}{\sw{Category 2}} & a & A & & & & & & & \\ & b & B & & & & & & & \\ & c & C & & & & & & & \\ & d & D & & & & & & & \\ \bottomrule \end{tabular} \end{document}
Respuesta
Puede usar \rotatebox{angle}{text}
para rotar texto (requiere el paquete rotating
).
Puede utilizar \multicolumn{num_cols}{alignment}{contents}
para crear celdas que abarquen varios columnas.
Puede usar \cline{from-to}
para reglas horizontales que no abarcar todas las columnas.
Puede usar \multirow{num_rows}{width}{contents}
para crear celdas que abarquen varias filas (requiere el paquete multirow
) .
El argumento del tabular *{11}{c|}
es un atajo para once veces el c|
, permitido por el array
paquete .
\documentclass{article} \usepackage{array} \usepackage{rotating}% https://en.wikibooks.org/wiki/LaTeX/Rotations \usepackage{multirow}% https://tex.stackexchange.com/a/73285/120953 \newcommand{\cat}[1]{#1} \newcommand{\thead}[1]{#1} \newcommand{\catver}[1]{\rotatebox{90}{\cat{#1}}} \newcommand{\theadver}[1]{\rotatebox{90}{\thead{#1}\hspace{.7em}}} \begin{document} \begin{tabular}{*{11}{c|}} \multicolumn{2}{l|}{} & \multicolumn{3}{l|}{\cat{Category~1}} & \multicolumn{3}{l|}{\cat{Category~2}} & \multicolumn{3}{l|}{\cat{Category~3}} % https://tex.stackexchange.com/a/8555/120953 \\\cline{3-11} & \thead{Name} & \theadver{Text~1} & \theadver{Text~2} & \theadver{Text~3} & \theadver{Text~4} & \theadver{Text~5} & \theadver{Text~6} & \theadver{Text~7} & \theadver{Text~8} & \theadver{Text~9} \\\hline \multirow{5}{*}{\catver{Category~1}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \multirow{5}{*}{\catver{Category~2}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \multirow{5}{*}{\catver{Category~3}} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\cline{2-11} &&&&&&&&&&\\\hline \end{tabular} \end{document}
Además, puede estar interesado en esta pregunta sobre el centrado vertical del contenido de una celda de varias filas.
multirow
ctan .org / pkg / multirow? lang = de