我正在尝试创建一个表格布局,使第一行的列间距与表格的其余部分不同。它是姓名表的标题(好吧,是一对标题的一部分)。
我想要实现的布局是:
+--------------------------------------+
| Title | Report Number | % These columns 50% width
+--------------------------------------+
| Name | Responsibility |
+--------------------------------------+
| Data | Data |
| Data | Data |
+--------------------------------------+
这将跨越页面的宽度。
我最初的想法是将表格布局为 4 列,并在第一行跨越两列以获得 50/50 的布局,然后跨越 1 列和 3 列作为数据部分。我以为我读过 tabularx 中不推荐使用多列,但目前我找不到。
我正在研究的另一种方法是将表格堆叠在一起(表 1 有第一个标题行,它是唯一的,表 2 有数据),但第二个表格似乎缩进,因为它紧跟在节标题之后。
我当前的代码如下:
\section*{TEAM MEMBERS}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\newcommand{\tableheader}[1]{
\cellcolor[HTML]{EFEFEF}\textbf{#1}
}
\begin{tabularx}{\textwidth}{Y|Y}
\tableheader{\@title} & Report Number: \@reportproject \\
\end{tabularx}
\begin{tabularx}{\textwidth}{X|X}
Name & Responsibility \\
Class that has many accessor methods and accesses a lot of external data & ATFD is more than a few\\
Class that is large and complex & WMC is high\\
Class that has a lot of methods that only operate on a proper subset of the instance variable set & TCC is low\\
\end{tabularx}
答案1
你不需要tabularx
,仅此而已。;-)
\documentclass{article}
\usepackage{array}
\newcommand{\calcfactor}[1]{%
\dimexpr#1\textwidth-2\tabcolsep-1.5\arrayrulewidth\relax
}
\newcolumntype{P}[1]{p{\calcfactor{#1}}}
\begin{document}
\noindent
\begin{tabular}{|P{.25}|P{.75}|}
\hline
\multicolumn{2}{|c|}{%
\makebox[\calcfactor{.5}][l]{Title}%
\hspace{\tabcolsep}\vline\hspace{\tabcolsep}%
\makebox[\calcfactor{.5}][l]{Report number}%
}\\
\hline
Name & Responsibility \\
\hline
Data & Data \\
Data & Data \\
\hline
\end{tabular}
\end{document}
答案2
如果您的第一行有 3 列,您可以通过合并任意 2 列将其转换为 2 列。这样,您可以设置表头以及数据字段。以下是示例,请尝试以下操作:
\begin{tabular}{|c|c|l|l|}
\hline
1,1 & 1,2 & 1,3 & 1,4 \bigstrut \\ \hline
2,1 &
\multirow{2}[4]{1.5cm}{Four bigstruts} &
\multirow{3}[6]{*}{Six bigstruts} &
\multirow{3}[6]{*}[1ex]{Six bigstruts and fixup}
\bigstrut \\ \cline{1-1}
3,1 & & & \bigstrut \\ \cline{1-2}
4,1 & 4,2 & & \bigstrut \\ \hline
5,1 &
8
\multirow{2}[2]{*}{Two bigstruts}
& 5,3
& 5,4 \bigstrut[t] \\
6,1 & & 6,3 & 6,4 \bigstrut[b] \\ \hline
7,1 &
\multicolumn{2}{l|}{\multirow{2}[4]{*}{Four bigstruts}}
& 7,4 \bigstrut \\ \cline{1-1}\cline{4-4}
8,1 &
\multicolumn{2}{l|}{}
& 8,4 \bigstrut \\ \hline
9,1 & 9,2 & 9,3 & 9,4 \bigstrut \\ \hline
\end{tabular}