在 tcolorbox 中使用 tabularx 键后,clines 停止工作

在 tcolorbox 中使用 tabularx 键后,clines 停止工作

我怀疑这可能是一个错误,但我不完全确定,所以在联系相关的软件包维护人员之前,我在这里发布了帖子以征求您的意见。

\documentclass{beamer}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{colortbl}
\begin{document}
\begin{frame}

 \begin{tcolorbox}[tabularx={X|X}]
 1 & 2 \\
 3 & 4
 \end{tcolorbox}

 \begin{tabularx}{\textwidth}{X|X}
 \hline
  1 & 2 \\\cline{2-2}
  3 & 4 \\
 \hline
 \end{tabularx}

 \end{frame}
\end{document}

在上面的代码中,\cline命令无法按预期工作。当tabularx在 tcolorbox 中使用键时会发生这种情况,并且只发生在 中beamer。如果您将类切换为 ,那么articlecline 就可以正常工作。

这是一个错误还是我遗漏了什么?

答案1

这与

投影机中奇怪的消失的彩色规则

尽管这可能最初并不明显:-)

在此处输入图片描述

\cline您可以通过添加字距来保护。

\documentclass{beamer}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{colortbl}
\makeatletter
\def\@cline#1-#2\@nil{%
  \omit
  \@multicnt#1%
  \advance\@multispan\m@ne
  \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
  \@multicnt#2%
  \advance\@multicnt-#1%
  \advance\@multispan\@ne
  \leaders\hrule\@height\arrayrulewidth\hfill\kern\z@
  \cr
  \noalign{\vskip-\arrayrulewidth}}
\makeatother
\begin{document}
\begin{frame}

 \begin{tcolorbox}[tabularx={X|X}]
 1 & 2 \\
 3 & 4
 \end{tcolorbox}

 \begin{tabularx}{\textwidth}{X|X}
 \hline
  1 & 2 \\\cline{2-2}
  3 & 4 \\
 \hline
 \end{tabularx}

 \end{frame}
\end{document}

相关内容