我正在尝试创建一个带有中间规则的表(cmidrule跳过第一列),但是此cmidrule的颜色不同于hrule。而且我无法使用像可以对中规则重新着色的方法来更改cmidrule的颜色。
\begin{tabular}{lcccc}
\hline
& \multicolumn{2}{c}{Value-Weighted} & \multicolumn{2}{c}{Equal-Weighted}\\
\cmidrule{2-5}
& Equity Premium & Information Ratio & Equity Premium & Information Ratio \\
\hline
\end{tabular}
我希望表格中的行具有相同的颜色(请注意,我确实在文档的所有地方都使用hrule,因此最好使用hrule的颜色)
答案 0 :(得分:3)
请勿混用\hline
和规则命令。如果您对表使用一致的样式,则没有问题。
\documentclass{article}
\usepackage{booktabs,colortbl}
\begin{document}
\arrayrulecolor{red}
\begin{tabular}{lcccc}
% \hline
\toprule
& \multicolumn{2}{c}{Value-Weighted} & \multicolumn{2}{c}{Equal-Weighted}\\
\cmidrule{2-5}
& Equity Premium & Information Ratio & Equity Premium & Information Ratio \\
\bottomrule
%\hline
\end{tabular}
\end{document}
编辑:
看到在自动生成的表中使用\hrule
是很奇怪的。但是,要解决您的问题,取决于情况。
1 /您的\hrule
带有颜色,并且您希望其他表格规则中使用相同的颜色。
在这种情况下,请查看生成的代码。应该有
\color{blue}\hrule width 1cm
或
\color{\mycolor}\hrule width 1cm
拾取\ hrule使用的任何颜色,并在文档开始处发出
\arrayrulecolor{\mycolor} % or whatever is used by the \hrule
表中的所有规则应具有相似的颜色。
2 /您的\ hrule是黑色的,您想给它们着色。
请不要。
\ hrule是一个非常低级的TeX命令,无法简单地配置其颜色。此外,它的语法很复杂。你可以
\hrule % draw a thin line that is \textwidth wide
或
\hrule height 2p width 3cm depth 0.5ex % specify parameters of the rule
或多或少之间的任何东西。
可以用来重新定义\ hrule的基本方法是
\let\mybasehrule=\hrule % save definition of \hrule
\def\hrule{\color{blue}\mybasehrule} % and redefine it
但是,\hrule
发出\color{black}
后,应该立即立即切换回初始颜色,否则,生成的任何东西都会变成蓝色。如果\hrule
总是 ,然后在表中后面有一个宏,则可以用类似的方式重新定义该宏,并希望\hrule
后面没有例外另一个命令。如果您无法识别出这样的宏,则会被困住。
然后,您必须回到表格后的\hrule
初始定义。 \hrule
是一个非常基本的TeX宏,几乎所有您使用的软件包都可以直接或间接使用,并且您不想重新定义\hrule
并将所有文本随机变为蓝色。
我认为,重写驱动程序以生成合理的表格代码可能比重新定义\hrule
以在表中生成彩色规则要简单得多。