beamer 中带有 booktabs 的 \cmidrule 不显示

beamer 中带有 booktabs 的 \cmidrule 不显示

\cmidrule我正在尝试在表格中使用彩色beamer- 但是它没有显示。我读过投影机中奇怪的消失的彩色规则这表明这是一个错误,并讨论了原因以及通过添加 来修复问题的一些可能性\kern。但是,它实际上并没有展示如何将其应用于\cmidrule,只是应用于其他\hrule命令。我的问题是:我如何将其应用于\cmidrule?或者这不可行?

平均能量损失

\documentclass[pdftex,12pt,fleqn,xcolor=pdftex,table,usepdftitle=false]{beamer}
\pdfpageattr{/Group <</S /Transparency /I true /CS /DeviceRGB>>} 
\usepackage[T1]{fontenc}
\usepackage{bera}
\usepackage{arevmath}
\usepackage{booktabs}
\usecolortheme{shark}
\useoutertheme[glossy]{wuerzburg}
\begin{document}
\begin{frame}
\frametitle{booktabs with cmidrule}
\rowcolors*{2}{black!5}{structure!22}\arrayrulecolor{structure}
\begin{tabular}{lrrrrrr}
\toprule
& \multicolumn{6}{c}{Penalty} \\
\cmidrule{2-7}
$\hat{\lambda}_{i}$ 
& None & a & b & c & d& e \\
\midrule
1 &    10&  -11&   -4&   -8&    8 & 3\\
2 &    10&  -11&   -4&   -8&    8 & 3\\
\bottomrule
\end{tabular}
\end{frame}
\end{document}

在此处输入图片描述

答案1

Herbert 在评论相关问题时表示

我认为\leaders[...] 的定义存在一个问题\hrulefill,也使用了\kern\z@[...]

的定义\hrulefill

\leavevmode\leaders\hrule\hfill\kern\z@

其定义booktabs包含的命令有和:\leaders\@cmiderulea\@cmidruleb

\def\@cmidrulea{%
   \multispan\@cmidla&\multispan\@cmidlb
   \unskip\hskip\cmrkern@l%
  {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
   \hskip\cmrkern@r\cr}%
\def\@cmidruleb{%
    \multispan\@cmidlb
    \unskip\hskip \cmrkern@l%
   {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
    \hskip\cmrkern@r\cr}%

似乎值得一试在两个定义\kern\z@后添加\hfill。(为了方便起见,我使用了etoolbox包来这样做。)事实上:

\documentclass[pdftex,12pt,fleqn,xcolor=pdftex,table,usepdftitle=false]{beamer}
\pdfpageattr{/Group <</S /Transparency /I true /CS /DeviceRGB>>} 
\usepackage[T1]{fontenc}
\usepackage{bera}
\usepackage{arevmath}
\usepackage{booktabs}
%\usecolortheme{shark}
%\useoutertheme[glossy]{wuerzburg}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@cmidrulea}{\hfill}{\hfill\kern\z@}{}{}
\patchcmd{\@cmidruleb}{\hfill}{\hfill\kern\z@}{}{}
\makeatother
\begin{document}
\begin{frame}
\frametitle{booktabs with cmidrule}
\rowcolors*{2}{black!5}{structure!22}\arrayrulecolor{structure}
\begin{tabular}{lrrrrrr}
\toprule
& \multicolumn{6}{c}{Penalty} \\
\cmidrule{2-7}
$\hat{\lambda}_{i}$ 
& None & a & b & c & d& e \\
\midrule
1 &    10&  -11&   -4&   -8&    8 & 3\\
2 &    10&  -11&   -4&   -8&    8 & 3\\
\bottomrule
\end{tabular}
\end{frame}
\end{document}

在此处输入图片描述

相关内容