mesa con múltiples multicolumnas
Estoy luchando por obtener la distribución correcta de la tabla con varias columnas por filas. Mi código LaTeX es:
\documentclass{book}
\begin{document}
\begin{table}[]
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
\multicolumn{7}{|c|}{0} & \multicolumn{7}{c|}{1}\\ \hline
\multicolumn{7}{|c|}{Negative} & \multicolumn{7}{c|}{Positive}\\ \hline
\multicolumn{4}{|c|}{-1} & \multicolumn{6}{c|}{0} & \multicolumn{4}{c|}{1} \\ \hline
\multicolumn{4}{|c|}{Negative} & \multicolumn{6}{c|}{Neutral} & \multicolumn{4}{c|}{Positive} \\ \hline
\multicolumn{2}{|c|}{1} & \multicolumn{3}{c|}{2} & \multicolumn{4}{c|}{3} & \multicolumn{3}{c|}{4} & \multicolumn{2}{c|}{5} \\ \hline
\multicolumn{2}{|c|}{\begin{tabular}[c]{@{}c@{}}Strongly\\ Negative\end{tabular}} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Weakly\\ Negative\end{tabular}} & \multicolumn{4}{c|}{Neutral} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Weakly\\ Positive\end{tabular}} & \multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Strongly\\ Positive\end{tabular}} \\ \hline
\begin{tabular}[c]{@{}c@{}}Very\\ Negative\end{tabular} & \multicolumn{2}{c|}{Negative} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Mostly\\ Negative\end{tabular}} & \multicolumn{2}{c|}{Neutral} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Mostly \\ Positive\end{tabular}} & \multicolumn{2}{c|}{Positive} & \begin{tabular}[c]{@{}c@{}}Strongly \\ Positive\end{tabular} \\ \hline
\end{tabular}
\end{table}
\end{document}
Esta codificación da como resultado esto:
Pero en realidad quiero esto:
Respuestas
Aquí hay una solución que usa un tabularxentorno para (a) asegurar que la tabla encaje dentro del ancho del bloque de texto, (b) asegurar que las 7 celdas en la fila inferior tengan anchos iguales y (c) permitir el ajuste automático de línea dentro del células.
Como en la respuesta de David Carlisle , tabularxenv. está configurado para tener no 7 sino 14 columnas subyacentes. Cada celda visible en la fila inferior en realidad abarca 2 columnas subyacentes. El contenido de las celdas visibles debe ingresarse en \mc(o \md) envoltorios, para indicar cuántas columnas subyacentes deben abarcar.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\newhsize[1]{\hsize= \dimexpr #1\hsize
+#1\tabcolsep+#1\tabcolsep-2\tabcolsep
+#1\arrayrulewidth-\arrayrulewidth \relax}
\newcommand{\mc}[2]{\multicolumn{#1}{ >{\newhsize{#1}}C|}{#2}}
\newcommand{\md}[2]{\multicolumn{#1}{|>{\newhsize{#1}}C|}{#2}} % for first col. in row
\begin{document}
\setlength\tabcolsep{3pt} % default: 6pt
\setlength\extrarowheight{2pt} % for a more open "look"
\noindent
\begin{tabularx}{\textwidth}{|*{14}{C|}}
\hline
\md{7}{0} & \mc{7}{1} \\ \hline
\md{7}{Negative} & \mc{7}{Positive}\\ \hline
\md{5}{$-1$} & \mc{4}{0} & \mc{5}{1}\\ \hline
\md{5}{Negative} & \mc{4}{Neutral} & \mc{5}{Positive} \\ \hline
\md{3}{1} & \mc{2}{2} & \mc{4}{3} & \mc{2}{4} & \mc{3}{5}\\ \hline
\md{3}{Strongly Negative} & \mc{2}{Weakly Negative} & \mc{4}{Neutral} &
\mc{2}{Weakly Positive} & \mc{3}{Strongly Positive}\\ \hline
\md{2}{Very Positive} & \mc{2}{Positive} & \mc{2}{Mostly Positive} & \mc{2}{Neutral} &
\mc{2}{Mostly Negative} & \mc{2}{Negative} & \mc{2}{Strongly Negative} \\ \hline
\end{tabularx}
\end{document}
En su \halignasignación de columna de tabla de nivel más bajo , Tex hace una "simplificación" de que si hay un límite de celda que se extiende en cada fila, esencialmente se elimina de la estructura interna.
Así que aquí quiere asegurarse de que realmente tiene 14 columnas efectivas para que pueda tener una última fila final con cada celda presente y sin tramos, esto normalmente forzaría espacio vertical visible adicional y reglas verticales, así que utilicé \omitprimitivas para evitar la adición de la reglas y el \strutlátex que normalmente se suma a una fila.
\documentclass{article}
\addtolength\textwidth{2pt}
\begin{document}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
\multicolumn{7}{|c|}{0} & \multicolumn{7}{c|}{1} \\ \hline
\multicolumn{7}{|c|}{Negative} & \multicolumn{7}{c|}{Positive}\\ \hline
\multicolumn{4}{|c|}{-1} & \multicolumn{6}{c|}{0} & \multicolumn{4}{c|}{1} \\\hline
\multicolumn{4}{|c|}{Negative}& \multicolumn{6}{c|}{Neutral}& \multicolumn{4}{c|}{Positive}\\ \hline
\multicolumn{2}{|c|}{1}& \multicolumn{3}{c|}{2}& \multicolumn{4}{c|}{3} & \multicolumn{3}{c|}{4} & \multicolumn{2}{c|}{5}\\ \hline
\multicolumn{2}{|c|}{\begin{tabular}[c]{@{}c@{}}Strongly\\ Negative\end{tabular}} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Weakly\\ Negative\end{tabular}}& \multicolumn{4}{c|}{Neutral}& \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Weakly\\ Positive\end{tabular}}& \multicolumn{2}{c|}{\begin{tabular}[c]{@{}c@{}}Strongly\\ positive\end{tabular}} \\ \hline
\begin{tabular}[c]{@{}c@{}}Very\\ Positive\end{tabular}& \multicolumn{2}{c|}{Positiv}& \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Mostly\\ Positive\end{tabular}} & \multicolumn{2}{c|}{Neutral} & \multicolumn{3}{c|}{\begin{tabular}[c]{@{}c@{}}Mostly \\ Negative\end{tabular}} & \multicolumn{2}{c|}{Negative}& \begin{tabular}[c]{@{}c@{}}Strongly \\ Negative\end{tabular}\\ \hline
\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit&\omit
\end{tabular}
\end{document}
Dejé el contenido de la tabla como no relacionado con la pregunta, pero los números deberían estar en modo matemático, $-1$no es así -1, también usaría \setlength\extrarowheight{2pt}para mantener el contenido \hlinealejado de la celda.