和这里的其他人一样,我在表格单元格正确着色方面遇到了一些麻烦。我在论坛上阅读了许多关于此问题的帖子,但我能找到的所有问题都与 \makecell 和 \colortbl 的组合有关。
就我而言,我没有在此处使用 \makecell(我在其他地方使用过该包,因此我已将其加载),但仍然遇到同样的问题。但由于我没有使用此命令,因此给出的解决方案对我不起作用。
我的 MWE:
\documentclass[11 pt, a4paper, oneside, openany]{book}
\usepackage[table, svgnames]{xcolor}
\usepackage{array}
\usepackage{multirow}
\usepackage{makecell}
\begin{table}[H]
\centering
\caption{Risico-inschatting en -analyse}
\label{tabelRisico-inschatting}
\begin{tabular}{|>{\columncolor{LightSteelBlue}\arraybackslash}c|>{\centering\arraybackslash}m{0.5cm}|>{\centering\arraybackslash}m{0.5cm}|>{\centering\arraybackslash}m{0.5cm}|>{\centering\arraybackslash}m{0.5cm}|>{\columncolor{LightSteelBlue}\arraybackslash}c|l|}
\hline
\rowcolor{SteelBlue}&\multicolumn{4}{|c|}{\textbf{Risico-inschatting}}&&\\
\cline{2-5}
\cellcolor{SteelBlue}\multirow{-2}{1.3cm}{\centering\textbf{Risico- Nr.}} & \cellcolor{SteelBlue}\textbf{S} & \cellcolor{SteelBlue}\textbf{F} & \cellcolor{SteelBlue}\textbf{O} & \cellcolor{SteelBlue}\textbf{A} & \cellcolor{SteelBlue}\multirow{-2}{1.3cm}{\centering\textbf{Risico- index}} & \cellcolor{SteelBlue}\multirow{-2}{6cm}{\textbf{Risico-evaluatie}}\\
\hline
1&2&2&3&1&5&Zeer ernstig gevaar. Vereist ontwerpmaatregel.\\
\hline
\end{tabular}
\end{table}
有人能帮我去除这个白色缝隙吗?非常感谢
答案1
使用您的代码,我无法重现问题中显示的表格。清理代码、更正multirow
单元格宽度并考虑@DavidCarlisle 评论后,我得到:
(红线表示页面布局)。如您所见,表格的宽度比文本的宽度要宽得多。
\documentclass[11 pt, a4paper, oneside, openany]{book}
\usepackage[table, svgnames]{xcolor}
\usepackage{multirow, makecell}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[ht]
\centering
\caption{Risico-inschatting en -analyse}
\label{tabelRisico-inschatting}
\begin{tabular}{|>{\columncolor{LightSteelBlue}\centering}p{11mm}|
*{4}{>{\centering\arraybackslash}m{0.55cm}|}
>{\columncolor{LightSteelBlue}\centering}p{14mm}|
l|}
\hline
\rowcolor{SteelBlue}
& \multicolumn{4}{|c|}{\textbf{Risico-inschatting}} & & \\
\cline{2-5}
\rowcolor{SteelBlue}
\multirow{-2}{=}{\centering\textbf{Risico Num.}}
& \textbf{S} & \textbf{F} & \textbf{O} & \textbf{A}
& \multirow{-2}{=}{\centering\textbf{Risico- index}}
& \multirow{-2}{*}{\textbf{Risico-evaluatie}}\\
\hline
1 & 2 & 2 & 3 & 1 & 5 & Zeer ernstig gevaar. Vereist ontwerpmaatregel.\\
\hline
\end{tabular}
\end{table}
\end{document}
您应该确保最后一列是 p
类型。例如,列规范定义为:
\begin{tabular}{|>{\columncolor{LightSteelBlue}\centering}p{11mm}|
*{4}{>{\centering\arraybackslash}m{5.4mm}|}
>{\columncolor{LightSteelBlue}\centering}p{14mm}|
>{\raggedright\arraybackslash}p{\dimexpr\linewidth-11mm%
-5.4mm-5.4mm-5.4mm-5.4mm-14mm
-14\tabcolsep-9\arrayrulewidth}|
}
表格如下所示:
请注意,表格中有背景色时,您会遇到 pdf 查看器伪影。并非所有规则都可见,除非您放大到 200% 到 300%!
答案2
你当然可以使用卡路里排版此表。然后,您可以避免 PDF 查看器伪影,其中规则在单元格颜色下消失。我添加了包标题以获得良好的标题间距,同时减少边距使用几何学。另外,我把字体大小减小了两个等级。
我认为,最好删除除水平线以外的所有线冒险聊天当您为单元格背景着色时。
\documentclass[11 pt, a4paper, oneside, openany]{book}
\usepackage{cals, url, caption}
\usepackage{geometry}
\usepackage[svgnames]{xcolor}
\RequirePackage[T1]{fontenc}
\let\nc=\nullcell % Shortcuts
\let\sc=\spancontent
\begin{document}
\begin{table}
\caption{Risico-inschatting en -analyse\label{tabelRisico-inschatting}}
\begin{calstable}[c]
% Defining columns relative to each other and relative to the margins
\colwidths{{\dimexpr(\columnwidth)/32*4\relax}
{\dimexpr(\columnwidth)/32*2\relax}
{\dimexpr(\columnwidth)/32*2\relax}
{\dimexpr(\columnwidth)/32*2\relax}
{\dimexpr(\columnwidth)/32*2\relax}
{\dimexpr(\columnwidth)/32*4\relax}
{\dimexpr(\columnwidth)/32*16\relax}
}
% The tabular fills the text area if sum of all columns is 6
% Set up the tabular
\makeatletter
\def\cals@framers@width{0.4pt} % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0.4pt}
\def\cals@bgcolor{}
\def\cals@AtBeginCell{\vfil}
\setlength{\cals@paddingL}{3pt}
\setlength{\cals@paddingR}{3pt}
\def\blue{\ifx\cals@bgcolor\empty % "Switch" to turn on and off colour
\def\cals@bgcolor{SteelBlue}
\else \def\cals@bgcolor{} \fi}
\def\lblue{\ifx\cals@bgcolor\empty % "Switch" to turn on and off colour
\def\cals@bgcolor{LightSteelBlue}
\else \def\cals@bgcolor{} \fi}
% R1H1
\thead{\footnotesize\bfseries
\brow
\blue\nc{lrt}
\nc{ltb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignC\sc{Risico-inschatting}
\nc{lrt}
\nc{lrt}
\erow
%R2H2
\brow
\nc{lrb}\alignC\sc{\vfill Risico- Nr.}
\cell{S}
\cell{F}
\cell{O}
\cell{A}
\nc{lrb}\alignC\sc{\vfill Risico- index}
\nc{lrb}\alignL\sc{\vfill Risico-evaluatie}\blue
\erow
\mdseries}
\tfoot{\lastrule\strut}
%R4B1
\brow
\lblue\alignC\cell{1}\lblue
\cell{2}
\cell{2}
\cell{3}
\cell{1}
\lblue\cell{5}\lblue
\alignL\cell{Zeer ernstig gevaar. Vereist ontwerpmaatregel.}
\erow
\makeatletter
\end{calstable}
\end{table}
\end{document}