
Estoy tratando de hacer una tabla complicada, donde cada celda pueda ser una tabla.
Descubrí que puedo incluir tabularx dentro de tabular*, pero no puedo entender por qué aparece un error con la tabla exterior también como tabularx. Quizás alguien pueda ver lo que estoy haciendo mal.
Este MWE funciona. El de abajo no funciona.
\documentclass[10pt,notitlepage]{article}%
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabular*}{\textwidth}{p{\textwidth}}\hline
\begin{tabularx}{\textwidth}{@{}|Y|Y|Y|@{}}\hline
\href{foo/index.htm}{A}
\begin{enumerate}
\item item 1
\item item 2
\end{enumerate}&
\href{foo/index.htm}{B}&
\href{foo/index.htm}{C}\\\hline
\end{tabularx}
\end{tabular*}
\end{document}
Ahora cambio la tabla exterior a tabularX y falló:
\documentclass[10pt,notitlepage]{article}%
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{\textwidth}{@{}Y@{}}\hline
\begin{tabularx}{\textwidth}{@{}|Y|Y|Y|@{}}\hline
\href{foo/index.htm}{A}
\begin{enumerate}
\item item 1
\item item 2
\end{enumerate}&
\href{foo/index.htm}{B}&
\href{foo/index.htm}{C}\\\hline
\end{tabularx}
\end{tabularx}
\end{document}
el error es
(./foo2.out) (./foo2.out)
! Extra }, or forgotten \endgroup.
\TX@trial ...er \tabular \the \toks@ \endtabular }
\TX@ckpt \TX@typeout@ {\@s...
l.18 \end{tabularx}
?
Usando texlive 2013 en Linux
Respuesta1
El anidado tabularx
debe estar rodeado {
y}
\documentclass[10pt,notitlepage]{article}%
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\begin{tabularx}{\textwidth}{@{}Y@{}}\hline
{\begin{tabularx}{\textwidth}{@{}|Y|Y|Y|@{}}\hline
\href{foo/index.htm}{A}
\begin{enumerate}
\item item 1
\item item 2
\end{enumerate}&
\href{foo/index.htm}{B}&
\href{foo/index.htm}{C}\\\hline
\end{tabularx}}
\end{tabularx}
\end{document}
Esto es según la documentación. Lo encontré haciendo una búsqueda nest
en la documentación.
Probablemente deberías hacer un par de cambios. Lo más probable es que el uso \textwidth
dentro del interior tabularx
dé como resultado que las columnas sean demasiado anchas. En su lugar utilice \linewidth
. Aquí hay una tabularx
construcción anidada modificada:
\documentclass[10pt,notitlepage]{article}%
\usepackage[margin=0.5in]{geometry}
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{array}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\usepackage{lipsum}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tabularx}{\textwidth}{@{}lY@{}}\hline
Hello &
{\begin{tabularx}{\linewidth}{@{}|Y|Y|Y|@{}}\hline
\href{foo/index.htm}{A}
\begin{enumerate}
\item item 1 \lipsum[1]
\item item 2
\end{enumerate}
&
\href{foo/index.htm}{B}
\lipsum[2]
&
\href{foo/index.htm}{C}
3:\lipsum[3] \\\hline
\end{tabularx}}
\end{tabularx}
\end{document}