当我用颜色填充表格的列时,它会覆盖一些行。 有没有什么方法可以避免这种情况?
\documentclass[slidetop,11.5pt,xcolor=table]{beamer}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{hhline}
\begin{document}
\begin{frame}
\frametitle{Title}
$\rightarrow$ blablabla\\
\begin{tabular}{c }
\\
\end{tabular}
\fontsize{7.5}{7}\selectfont
%changes the font size to 6 points and the \baselineskip to 7.2 points
{%\centering
\makebox[\textwidth]
{
\renewcommand{\arraystretch}{2.2}
\begin{tabular}{p{1.8cm} r >{\columncolor{gray}}r r >{\columncolor{gray}}r r >{\columncolor{gray}}r r >{\columncolor{gray}}r r >{\columncolor{gray}}r }
\hhline{*{11}{-}}
\raggedright & \multicolumn{2}{c}{C1} & \multicolumn{2}{c}{C2} & \multicolumn{2}{c}{C3} & \multicolumn{2}{c}{C4} & \multicolumn{2}{c}{Total}\\
\hhline{\arrayrulecolor{black}-----------}
& nb & \% col & nb & \% col & nb & \% col & nb & \% col & nb & \% col\\\hhline{*{11}{-}}
Q5 for both & 184 & 1,6 & 2011 & 15,8 & 2762 & 23,4 & 1121 & 14 & 6078 & \textbf{13,7}
\\ \hhline{\arrayrulecolor{black}-----------}
Q1-Q4 for F, Q5 for E & 32 & 0,3 & 414 & 3,3 & 660 & 5,6 & 1685 & 21,1 & 2791 & \textbf{6,3}\\
\hline
Q5 for F, Q1-Q4 for E & 1746 & 14,8 & 833 & 6,5 & 214 & 1,8 & & & 2793 & \textbf{6,3}
\\ \hline
Q1-Q4 for both & 9855 & 83,4 & 9465 & 74,4 & 8166 & 69,2 & 5197 & 64,9 & 32683 & \textbf{73,7}
\\ \hhline{\arrayrulecolor{black}-----------}
Total & 11817 & 100 & 12723 & 100 & 11802 & 100 & 8003 & 100 & 44345 & 100
\\ \hhline{\arrayrulecolor{black}-----------}
\end{tabular}%
}\par
}
\end{frame}
\end{document}
答案1
我有一些直接的建议:
不要同时使用
\makebox[\textwidth]{...}
和字体大小更改命令来尝试使表格适合文本块。提供说明\tiny
和\setlength\tabcolsep{4.5pt}
应该足以使表格适合。所有
\hhline{...}
指令均可用 替换\hline
。我会将列颜色从“灰色”更改为“浅灰色”。
如果需要同时加载
xcolor
和colortable
包,则应使用单个指令进行加载\usepackage[table]{color}
。请参阅包用户指南第 9 页xcolor
以获取说明。
即使进行了这些更改,我还是认为表格的可读性并不高,而且表格的各种特征(例如最后一列的数字以粗体显示)也不容易发现。与其使用灰色条纹来区分列,不如为标题提供更多结构,去掉分散注意力的内部水平线,并使用包的线条绘制宏来绘制booktabs
剩余的行。我还将字体大小从 增加到\tiny
(\scriptsize
并且,为了补偿,减少列间空白量)。我认为您的读者会喜欢更大的字体。
\documentclass[slidetop,11.5pt,xcolor=table]{beamer}
%%\usepackage{tikz}
%%\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[table]{xcolor} % see p. 9 of UG of xcolor package
%%\usepackage{multirow}
\usepackage{hhline}
\usepackage{booktabs,array,ragged2e} % for second table
\newcolumntype{P}[1]{>{\arraybackslash\RaggedRight}p{#1}}
\begin{document}
\begin{frame}[t] % "[t]" just for this example
\frametitle{Title}
\tiny % use a built-in LaTeX font size command
\setlength\tabcolsep{4.5pt} % default: 6pt
\renewcommand{\arraystretch}{2.2}
\begin{tabular}{@{} p{1.8cm}
*{5}{r >{\columncolor{lightgray}}r} }
\hline
& \multicolumn{2}{c}{C1} & \multicolumn{2}{c}{C2}
& \multicolumn{2}{c}{C3} & \multicolumn{2}{c}{C4}
& \multicolumn{2}{c}{Total}\\
\hline
& nb & \% col & nb & \% col & nb & \% col & nb & \% col & nb & \% col\\
\hline
Q5 for both & 184 & 1,6 & 2011 & 15,8 & 2762 & 23,4 & 1121 & 14 & 6078 & \textbf{13,7} \\
\hline
Q1--Q4 for F, Q5 for E & 32 & 0,3 & 414 & 3,3 & 660 & 5,6 & 1685 & 21,1 & 2791 & \textbf{6,3}\\
\hline
Q5 for F, Q1--Q4 for E & 1746 & 14,8 & 833 & 6,5 & 214 & 1,8 & & & 2793 & \textbf{6,3}\\
\hline
Q1--Q4 for both & 9855 & 83,4 & 9465 & 74,4 & 8166 & 69,2 & 5197 & 64,9 & 32683 & \textbf{73,7} \\
\hline
Total & 11817 & 100 & 12723 & 100 & 11802 & 100 & 8003 & 100 & 44345 & 100 \\
\hline
\end{tabular}
\end{frame}
\begin{frame}[t] % "[t]" just for this example
\frametitle{Another Title}
\scriptsize
\setlength\tabcolsep{3.5pt} % default: 6pt
\renewcommand{\arraystretch}{1.5} % 2.2 seems excessive...
\begin{tabular}{@{} P{1.7cm} *{10}{r} @{}}
\toprule
& \multicolumn{2}{c}{C1} & \multicolumn{2}{c}{C2}
& \multicolumn{2}{c}{C3} & \multicolumn{2}{c}{C4}
& \multicolumn{2}{c}{Total}\\
\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9} \cmidrule(l){10-11}
& nb & \%col & nb & \%col & nb & \%col & nb & \%col & nb & \%col\\
\midrule
Q5 for both & 184 & 1,6 & 2011 & 15,8 & 2762 & 23,4 & 1121 & 14 & 6078 & \textbf{13,7} \\
Q1--Q4 for F, Q5 for E & 32 & 0,3 & 414 & 3,3 & 660 & 5,6 & 1685 & 21,1 & 2791 & \textbf{6,3}\\
Q5 for F, Q1--Q4 for E & 1746 & 14,8 & 833 & 6,5 & 214 & 1,8 & & & 2793 & \textbf{6,3}\\
Q1--Q4 for both & 9855 & 83,4 & 9465 & 74,4 & 8166 & 69,2 & 5197 & 64,9 & 32683 & \textbf{73,7} \\
Total & 11817 & 100 & 12723 & 100 & 11802 & 100 & 8003 & 100 & 44345 & 100 \\
\bottomrule
\end{tabular}
\end{frame}
\end{document}