
我正在嘗試製作一個複雜的表格,其中每個單元格本身都可以是一個表格。
我發現我可以在 tabular* 中包含 tabularx,但無法弄清楚為什麼我在外表也是 tabularx 時遇到錯誤。也許有人可以看到我做錯了什麼。
這個 MWE 有效。下面那個不行。
\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}
現在我將外表改為 tabularX 但失敗:
\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}
錯誤是
(./foo2.out) (./foo2.out)
! Extra }, or forgotten \endgroup.
\TX@trial ...er \tabular \the \toks@ \endtabular }
\TX@ckpt \TX@typeout@ {\@s...
l.18 \end{tabularx}
?
在Linux上使用texlive 2013
答案1
嵌套tabularx
應該被{
和包圍}
\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}
這是根據文檔。我通過nest
在文檔中搜索找到了它。
不過,您可能應該進行一些更改。\textwidth
在內部使用tabularx
很可能會導致列太寬。而是使用\linewidth
.這是修改後的巢tabularx
狀結構:
\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}