我使用 tabu 环境制作了一个表格。代码附在下面。有两件事我不知道如何修复。1. 表格宽度超出了页面宽度。2. 如何更改第一个 A 和 B 以及 G 和 H 的垂直对齐方式...我也不明白为什么构造类型占据两行。任何帮助都将不胜感激。在这里呆了两天。我打算制作的表格终于附上了。(我使用 tabular 环境制作了第二张表。但是,我无法使其在 longtable 环境中工作,因此我尝试切换到 tabu 环境,并希望 longtabu 可以工作。)
\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{makecell,interfaces-makecell}
\usepackage{multirow}
\begin{document}
\begin{tabu} {|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|}
\hline
\multicolumn2{|c|}{A} & B &\multicolumn5{|c|}{
\begin{tabu}spread 0pt{*5X[cm]}
{Construction Types}\\\hline
A & B & C & D& E\\
\end{tabu}}
\tabuphantomline
\hline
\multicolumn2{|c|}{
\begin{tabu}spread \linewidth{X[cm]|X[cm]}
$[$+animate$]$ & A\\\hline
$[$-animate$]$ & B\\
\end{tabu}}
& G & H & I & J & \\
\hline
\tabuphantomline
\end{tabu}
\end{document}
答案1
我可能会坚持longtable
。我可能也会booktabs
认真听取 的建议,放弃垂直规则。然而,这并不符合每个人的口味,有时在制度要求面前,你自己的口味无论如何都是无关紧要的。因此,有两种可能性:
\documentclass{article}
\usepackage{array,longtable}
\usepackage{multirow}
\usepackage{booktabs}
\newcolumntype{C}{>{$}c<{$}}
\begin{document}
\begin{longtable}{|C|c||*{6}{c|}}
\hline
\multicolumn{2}{|c||}{\multirow{2}*{causer}} & \multirow{2}*{Predicates} & \multicolumn{5}{c|}{Construction Types}\\\cline{4-8}
\multicolumn{2}{|c||}{} & & plama & plamb & plamchoa & plamchob & plamchoc \\\hline
[+animate] & & & & & & & \\\cline{1-2}\cline{4-8}
[-animate] & & & & & & & \\\hline
[+animate] & & & & & & & \\\cline{1-2}\cline{4-8}
[-animate] & & & & & & & \\\hline
[+animate] & & & & & & & \\\cline{1-2}\cline{4-8}
[-animate] & & & & & & & \\\hline
\end{longtable}
\begin{longtable}{C*{7}{c}}
\toprule
\multicolumn{2}{c}{\multirow{2}*{causer}} & \multirow{2}*{Predicates} & \multicolumn{5}{c}{Construction Types}\\\cmidrule{4-8}
\multicolumn{2}{c}{} & & plama & plamb & plamchoa & plamchob & plamchoc \\\midrule
{[+animate]} & & & & & & & \\\cmidrule{1-2}\cmidrule{4-8}
{[-animate]} & & & & & & & \\\midrule
{[+animate]} & & & & & & & \\\cmidrule{1-2}\cmidrule{4-8}
{[-animate]} & & & & & & & \\\midrule
{[+animate]} & & & & & & & \\\cmidrule{1-2}\cmidrule{4-8}
{[-animate]} & & & & & & & \\\bottomrule
\end{longtable}
\end{document}
答案2
以下是经过实际实验/研究后对 OP 担忧的一些观察。
Q1/A1.tabu
环境中的一条线spead \linewith
导致表格宽度超出了纸张边距。
Q2/A2. 用于垂直对齐,multirow
和raisebose[-x\baselineskip]{content}
用于A、B和G、H。
Q3/A3. 需要\multicolumn{5}{c}{Construction Types}
保持在一行。
longtabu
Q4/A4.仅当单元格中的禁忌环境为 时,的使用才可行tabu
。也就是说,只有最外层的禁忌环境才是longtabu
。(参见第二个例子)
代码:
\documentclass{article}
\usepackage[margin=1cm]{geometry}
\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{makecell,interfaces-makecell}
\usepackage{multirow}
\begin{document}
\tabulinesep=0.5mm
%
\begin{tabu} spread 10cm{|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|}\hline
\multicolumn{2}{|c|}{\multirow{1}{*} {A}} & \multicolumn{1}{c|} {\multirow{1}{*} {B}} &\multicolumn{5}{c|}{
\begin{tabu} spread 5cm {*5X[cm]}
\multicolumn{5}{c}{Construction Types}\\ \tabucline-
A & B & C & D& E\\
\end{tabu}
}\\ \tabucline-
%\tabuphantomline
\multicolumn{2}{|c|}{
\begin{tabu} spread 0cm{X[cm]|X[cm]}
$[$+animate$]$ & A\\\tabucline-
$[$-animate$]$ & B\\
\end{tabu}
}
&&\raisebox{-1.5\baselineskip} {G} &\raisebox{-1.5\baselineskip} {H} & I & J & K\\\hline
%\tabuphantomline
\end{tabu}
\vspace{2cm} % second example
\tabulinesep=0.5mm
\begin{longtabu} spread 0pt {|X[cm]||X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|X[cm]|}
\hline
\multicolumn{1}{|c||}{\multirow{2}{*}{causer}} & \multicolumn{1}{c|}{\multirow{2}{*}{Predicates}} &
\multicolumn{5}{c|}{Construction Types} \\ \cline{3-7}
& & plama &plamb & plamchoa & plamchob& \multicolumn{1}{c|}{plamchoc}\\
\tabucline-
\multicolumn{1}{|c||}{
\begin{tabu} spread 0pt {X[10,cm]|X[1,cm]}
$[+animate]$ & \\ \tabucline-
$[-animate]$ &\\
\end{tabu}
}
& & & & & & \\
\tabucline-
\multicolumn{1}{|c||}{
\begin{tabu} spread 0pt{X[10,cm]|X[1,cm]}
$[+animate]$ & \\ \tabucline-
$[-animate]$ & \\
\end{tabu}}
& & & & & & \\ \tabucline-
\multicolumn{1}{|l||}{
\begin{tabu} spread 0pt{X[10,cm]|X[cm]}
$[+animate]$ & \\ \tabucline-
$[-animate]$ & \\
\end{tabu}}
& & & & & & \\ \tabucline-
\end{longtabu}
\end{document}