如何处理复杂表格中的 \cellcolor 和 \multicolumn?

如何处理复杂表格中的 \cellcolor 和 \multicolumn?

我正在准备一份欧洲创新项目申请,使用 H2020prposal.cls 模板。但是,使用该类构建的一些表格在提供的官方模板中(愚蠢地)改变了形状,而我试图模仿一个奇怪的表格。我在给下部单元格着色时遇到了困难。通过反复试验,我可以正确填充第 4 列的上部和下部单元格,但这并不干净,文档边距的每次更改都会影响结果,并且上部和下部单元格填充不均匀。有什么更干净的方法吗?

\documentclass[a4paper]{article}
\usepackage[left=15 mm, right=15mm]{geometry}
\usepackage[utf8x]{inputenc} 
\usepackage[table]{xcolor}
\usepackage{multirow}
\usepackage{tabularx}

\begin{document}

\begin{tabularx}{.98\textwidth}{|>{\centering}p{4.5em}|p{12em}|>{\centering}p{5em}|>{\centering}p{4.5em}|>{\centering}p{4.5em}|>{\centering}p{4.5em}|>{\centering\arraybackslash}X|}
\hline
\cellcolor{gray!40} \textbf{Work package N°} 
&\cellcolor{gray!40}\textbf{Work package title} 
&\cellcolor{gray!40}\textbf{Lead participant N°}
&\cellcolor{gray!40}\textbf{Lead Participant Short Name}
&\cellcolor{gray!40}\textbf{Person Months} 
&\cellcolor{gray!40}\textbf{Start month} 
&\cellcolor{gray!40}\textbf{End Month}\\
\hline
\textbf{WP1}& MANAGEMENT WORK PACKAGE& 1 & TOE & 4 & 1 & 16  \\
\hline
\textbf{WP1}& DEVELOPMENT WORK PACKAGE& 2 & ARC & 8 & 1 & 8  \\
\hline
\multicolumn{3} {l}{}  & \multicolumn{1}{|> {\raggedleft}p{4.5em}|} {\cellcolor{gray!40} \textbf{Total person month:}} &\multicolumn{1} {c|}{55} &\multicolumn{2} {l}{}\\
\cline{4-7}
\multicolumn{3} {l|}{}  & \multicolumn{2} {> {\raggedleft}p{10em}|}{\cellcolor{gray!40} \textbf{Overall Start and End Months foreseen:}} & 1& 24 \\
\cline{4-7}
\end{tabularx}
\end{document}

答案1

我建议您使用新的包tabularray

使用它来定制您的表格非常容易。

\documentclass[a4paper]{article}
\usepackage[left=15 mm, right=15mm]{geometry}
\usepackage[utf8x]{inputenc} 
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
    width=0.97\linewidth,
    colspec={Q[c,4.5em]Q[12em]Q[c,5em]|Q[c,4.5em]Q[c,4.5em]|Q[c,4.5em]X[c]}, vline{1-3}={1-3}{solid},vline{1-3}={1-3}{solid},
    vline{5}={1-4}{solid},vline{7-8}={1-3,5}{solid},
    column{1} = {font=\bfseries},
    row{1} = {font=\bfseries, gray!40},
    cell{4}{4} = {r=1,c=1}{r,font=\bfseries, gray!40},
    cell{5}{4} = {r=1,c=2}{r, wd=9em,font=\bfseries, gray!40}
    }
\hline
Work package N° 
& Work package title 
& Lead participant N°
& Lead Participant Short Name
& Person Months 
& Start month 
& End Month\\
\hline
WP1& MANAGEMENT WORK PACKAGE& 1 & TOE & 4 & 1 & 16  \\
\hline
WP1& DEVELOPMENT WORK PACKAGE& 2 & ARC & 8 & 1 & 8  \\
\hline
&& & Total person month: &55 &&\\
\cline{4-7}
&&& Overall Start and End Months foreseen: && 1& 24 \\
\cline{4-7}
\end{tblr}
\end{document}

在此处输入图片描述

相关内容