表格与 COLSPAN 和 ROWSPAN 一起吗?

表格与 COLSPAN 和 ROWSPAN 一起吗?

我需要表格方面的帮助。我需要(可能)混合行和列跨度(参见右下角和中间的 2 列),但我不知道该怎么做。另外,我需要在第 4 列中增加更多行(问题)——另一个表格是个好主意吗?

这就是我所拥有的:

在此处输入图片描述

我的目的是这样的:

在此处输入图片描述

我的代码:

\documentclass{article}
\usepackage{geometry}                
\geometry{paper=a4paper,landscape,hmargin=28.5mm,vmargin=20mm} 

\newcolumntype{M}[1]{>{\centering\arraybackslash}m{\dimexpr#1-\arrayrulewidth\relax}}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{\dimexpr#1-\arrayrulewidth\relax}}

  \begin{tabular}{
  | P{1.4cm}
  | M{1.4cm}
  | M{1.4cm}
  | P{7.6cm}
  | P{6.4cm}
  | P{1.2cm}
  | P{1.2cm}
  | P{1.2cm}
  | P{2.2cm}
  |
}
\hline
a & b & c & & d & e & f & g \tabularnewline
\hline

\rule{0cm}{1cm} & & & & & & & & \tabularnewline
\hline
\rule{0cm}{1cm} & & & & & & & & \tabularnewline
\hline
\multicolumn{2}{P{2.8cm}}{\rule{0cm}{1cm}}  & & & & \multicolumn{3}{P{2.8cm}}{\rule{0cm}{1cm}}  \tabularnewline
\hline

\end{tabular}

我尝试了很多组合,但乳胶对我来说太难了,而且太复杂了......(漂亮的 HTML/CSS:))

答案1

您可以使用multirow\cline

\documentclass{article}
\usepackage{geometry,array}
\geometry{a4paper,landscape,hmargin=8.5mm,vmargin=20mm}

\newcolumntype{M}[1]{>{\centering\arraybackslash}m{\dimexpr#1-\arrayrulewidth\relax}}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{\dimexpr#1-\arrayrulewidth\relax}}

\usepackage{multirow}
\usepackage{amssymb}
\begin{document}
  \begin{tabular}{
  | P{1.4cm}
  | M{1.4cm}
  | M{1.4cm}
  | P{7.6cm}
  | P{6.4cm}
  | P{1.2cm}
  | P{1.2cm}
  | P{1.2cm}
  | P{2.2cm}
  |
}
\hline
a & b & c & & d & e & f & g &\\
\hline

\rule[-0.8cm]{0cm}{1cm} & & &
\multirow{3}{7.6cm}{%
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No \newline
Question \hfill $\bigcirc$ \strut  Yes  $\bigcirc$ No%  <--- % needed
}
  & & & & & \\
\cline{1-3}\cline{5-8}
\rule[-0.8cm]{0cm}{1cm} & & & & & & & & \\\cline{1-3}\cline{5-8}
\multicolumn{2}{|P{2.8cm}}{\rule{0cm}{1cm}}  & & & & \multicolumn{3}{P{2.8cm}}{\rule{0cm}{1cm}}  &\\
\hline

\end{tabular}
\end{document}

在此处输入图片描述

答案2

因为所有单元格宽度都是已知的,所以您不需要使用 tabular(也不需要\halign),因为就\hbox to<given width>足够了。我从各个部分组成了您的表格,我使用了经典的\hbox\vbox和。这是一个关于 TeX 如何使用这些元素的基本练习。\hrule\vrule

\def\tabstrut{\lower6pt\vbox to20pt{}}
\def\tline#1#2#3#4{\hbox{\tabstrut
    \hbox to#1cm{\hss#2\hss}\vrule
    \hbox to#1cm{\hss#3\hss}\vrule
    \hbox to#1cm{\hss#4\hss}}\hrule}
\def\oline#1#2{\hbox to#1cm{\tabstrut\hss#2\hss}\hrule}
\def\ques{\hbox{\quad question\quad $\bigcirc$ yes\quad $\bigcirc$ no}}

\vbox{\hrule
\hbox{\vrule
   \vtop{\tline{1.4}{a}{b}{c}\tline{1.4}{d}{e}{f}\tline{1.4}{g}{h}{i}}\vrule
   \vtop{\oline{4.6}{j}\medskip\ques\ques\ques\ques\ques\ques\ques\medskip}\vrule
   \vtop{\oline{3.4}{k}}\vrule
   \vtop{\hbox{\vtop{\tline{1.2}{l}{m}{n}
                     \tline{1.2}{o}{p}{q}\tline{1.2}{r}{s}{t}}\vrule}}%
   \kern1.2cm
   \vrule
}\hrule
}

结果:

标签

我确实改变了一些部分宽度(j 列和 k 列),因为表格的整体宽度大于 A4 纸宽度。

相关内容