禁忌环境中表格宽度超出纸张宽度

禁忌环境中表格宽度超出纸张宽度

我使用 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. 用于垂直对齐,multirowraisebose[-x\baselineskip]{content}用于A、B和G、H。

Q3/A3. 需要\multicolumn{5}{c}{Construction Types}保持在一行。

longtabuQ4/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}

相关内容