如何更改每行的列宽?

如何更改每行的列宽?

我正在尝试创建一个表格布局,使第一行的列间距与表格的其余部分不同。它是姓名表的标题(好吧,是一对标题的一部分)。

我想要实现的布局是:

+--------------------------------------+
| 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}

相关内容