行着色问题

行着色问题

我需要用颜色填充表格行,但是我遇到了一些问题:

  1. 如果我这样做,一些列将被背景覆盖(第一张图片 - 多行)。

  2. 我看到了白色边框。(我不明白为什么 - 它们应该在这里)

  3. 我不知道如何将右侧表格(镜像 L)的列颜色设置为“无”或“白色”。

这就是我所拥有的:

在此处输入图片描述

这就是我需要的: 在此处输入图片描述

\documentclass{article}

\usepackage{xcolor,colortbl}
\usepackage{geometry}                 % customize page layout
\usepackage{array}
\usepackage{multirow}                 % multirow for table (rowspan)

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

\setlength\parindent{0cm}   % no indent for whole document
\setlength{\tabcolsep}{0cm}   % padding either side of each column (only horizontal)

\definecolor{Gray}{gray}{0.85}

% document start
\begin{document}

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

\newcolumntype{X}[1]{>{\columncolor{Gray}\arraybackslash}p{\dimexpr#1-\arrayrulewidth\relax}}
\newcolumntype{Y}[1]{>{\columncolor{Gray}\raggedright\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
\multicolumn{4}{|c|}{\rule[-0.4cm]{0cm}{1cm} B} & \multicolumn{5}{c|}{q} \\

\hline
a & SSW \par \footnotesize{(xx)} & xxx \footnotesize{(xxx)} & b & & x & d & e &  \\\cline{1-8}

\rule[-0.8cm]{0cm}{1cm} & & &
\multirow{8}{7.6cm}{%
\rule[-.4cm]{0.5cm}{0cm}
  \begin{tabular}{
   X{2.5cm}
   X{0.9cm}
   Y{1.6cm}
   Y{1.6cm}
}
one question & & $\bigcirc$ yes & $\bigcirc$ no \\
second question & & $\bigcirc$ left & $\bigcirc$ right \\
third question & & $\bigcirc$ yes & $\bigcirc$ no \\
fourth question & & $\bigcirc$ yes & $\bigcirc$ no \\
fifth question & & $\bigcirc$ yes & $\bigcirc$ no \\
sixsth question & & $\bigcirc$ mono & $\bigcirc$ color \\
\end{tabular} %
}
  & & & & & \\
\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}

% document end
\end{document}

答案1

关于您的代码以及更改的一些说明:

  • 加载\usepackage[table]{xcolor}也会加载colortbl
  • 您可以\usepackage{array, multirow}一起加载(节省一行!)。
  • 新的列类型应在此处定义
  • 请记住,纸张格式已加载到文档类中,您可以将边距和横向作为geometry包的选项应用。

就我个人而言,我建议你先将所有软件包放在一起,然后再加载序言中的所有各种调整,最后加载文档。这不是一个规则,但这样组织得更好。不过,这取决于你的喜好。

我加载了hhline用于为规则着色的包,然后将其\rowcolors{2}{Gray}{Gray}用于行,并使用命令\cellcolor{white}来隔离白色单元格(顶部除外)。无需嵌套表格,我的解决方案仅使用一个表格。

输出

图1

代码

\documentclass[a4paper]{article}
\usepackage[hmargin=28.5mm,vmargin=20mm,landscape]{geometry} 
\usepackage[table]{xcolor}
\usepackage{hhline}
\usepackage{array, multirow}                 % multirow for table (rowspan)

\setlength\parindent{0cm}   % no indent for whole document
\setlength{\tabcolsep}{0cm}   % padding either side of each column (only horizontal)

\definecolor{Gray}{gray}{0.85}

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

\newcolumntype{X}[1]{>{\arraybackslash}p{\dimexpr#1-\arrayrulewidth\relax}}
\newcolumntype{Y}[1]{>{\hspace{2pt}\raggedright\arraybackslash}p{\dimexpr#1-\arrayrulewidth\relax}}

\renewcommand*{\arraystretch}{1.5}

\newcommand{\myl}{%
\hhline{*3{>{\arrayrulecolor{black}}-}*4{>{\arrayrulecolor[gray]{.85}}-}|*3{>{\arrayrulecolor{black}}-}}
}

\begin{document}
    \rowcolors{2}{Gray}{Gray}
\begin{tabular}{|P{1.4cm}|M{1.4cm}|M{1.3cm}|Y{4cm}Y{1.5cm}Y{1.5cm}|P{7.6cm}|P{1.2cm}|P{1.2cm}|P{1.2cm}|P{2.2cm}|
}
\hline
\rowcolor{white}
\multicolumn{6}{|c|}{B} & \multicolumn{5}{c|}{q} \\ \hline
a   & SSW \par \footnotesize{(xx)} & xxx \footnotesize{(xxx)} & \multicolumn{3}{c|}{b} & & x & d & e & \cellcolor{white} \\ \hhline{*{10}{-}}
    & & & one question & $\bigcirc$ yes & $\bigcirc$ no & & & & & \cellcolor{white} \\ \myl
    & & & second question & $\bigcirc$ left & $\bigcirc$ right & & & & & \cellcolor{white} \\ \myl
    & & & third question & $\bigcirc$ yes & $\bigcirc$ no & & & & & \cellcolor{white} \\ \myl
    \multicolumn{3}{|c|}{} & fourth question & $\bigcirc$ yes & $\bigcirc$ no & & \multicolumn{3}{c}{\cellcolor{white}} & \cellcolor{white} \\
    \multicolumn{3}{|c|}{} & fourth question & $\bigcirc$ yes & $\bigcirc$ no & & \multicolumn{3}{c}{\cellcolor{white}} & \cellcolor{white} \\
    \multicolumn{3}{|c|}{\multirow{-3}{*}{}} & sixth question & $\bigcirc$ mono & $\bigcirc$ color & & \multicolumn{3}{c}{\multirow{-3}{*}{\cellcolor{white}}} & \cellcolor{white} \\ \hline
\end{tabular}
\end{document}

相关内容