我正在尝试创建一个带有中间规则(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的颜色)。
发布于 2019-07-18 09:15:40
不应将\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取起\h规则使用的任何颜色,并在文档开始时发出
\arrayrulecolor{\mycolor} % or whatever is used by the \hrule你桌子上的所有规则都应该有相似的颜色。
2/你的规则是黑色的,你想给它们着色。
请不要这样。
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但是,您应该在发出后立即将\color{black}切换回初始颜色,否则生成的任何内容都将是蓝色的。\hrule是 will ,表中的宏后面跟着一个宏,您可以以类似的方式重新定义这个宏,并希望\hrule后面跟着另一个命令不会有例外。如果无法识别这样的宏,则会被困住。
必须将返回到表后的\hrule的初始定义。\hrule是一个非常基本的TeX宏,直接或间接地由您使用的任何包使用,您不希望重新定义\hrule并将所有文本随机转换为蓝色。
在我看来,重写驱动程序生成正常的表格代码可能比重新定义\hrule以生成表中的有色规则要简单得多.
https://stackoverflow.com/questions/57090868
复制相似问题