如何在带有圆角的 tcolor 框内放置彩色表格并使其具有整齐、规则和连续的框规则?

如何在带有圆角的 tcolor 框内放置彩色表格并使其具有整齐、规则和连续的框规则?

我正在尝试将 tcolorbox 与数组融合,以便很好地识别练习,并对应相应的等级和难度级别。我无法摆脱直角(见下图)。我希望将方框规则置于数组“上方”,以便掩盖矩形单元格及其直角。

此外,如果有人可以给我提供任何线索,让我知道如何根据文本的实际高度垂直居中文本(不保留任何空间以防某些字母延伸到基线以下)...

我正在使用 LuaLaTeX。以下是我编写的代码,以使结果显示在图片中。

\documentclass[12pt, english, french]{article}
\usepackage{babel}
\frenchsetup{og=«, fg=»}
\usepackage{fontspec}
\setmainfont{Erewhon}
\setsansfont[Scale=MatchLowercase]{Cabin}
\setmonofont[Scale=MatchLowercase,HyphenChar=None]{Inconsolatazi4}
\usepackage[most]{tcolorbox}
\usepackage{array, colortbl, fourier-otf, fontawesome, multicol, multirow, xcolor}

\begin{document}

\tcbox[left=0ex, right=0ex, top=0ex, bottom=0ex, boxsep=0pt, boxrule=2pt]
    {\begin{tabular}{p{3cm}m{1.5cm}}
        \multirow{2}{*}{Exercice 17}     & \cellcolor{cyan}\textcolor{white}{1\iere} \\
                                         & \cellcolor{black!50!white}\textcolor{white}{\scriptsize \faStar\faStar\faStarO}
     \end{tabular}}

\end{document}

感谢和问候 !

tcolorbox 外部有圆角,内部有矩形阵列单元

答案1

这与 OP 问题无关,但我认为这tabular将用于标记一些练习,并且可以使用一些tcolorbox工具来减少和简化打字。

如果每个框标记不同的练习,我们可以使用auto counter声明\newtcbox来自动计算后面的数字Exercice

由于框内容非常规则,因此可以将其包含在before upperafter upper选项中。这样,tcbox具有两个强制参数和第三个空内容的 就可以完成工作。

\documentclass[12pt, english, french]{article}
\usepackage{babel}
\usepackage[most]{tcolorbox}
\usepackage{array}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{fontawesome}

\newtcbox[auto counter]{exercicebox}[2]{%
    enhanced, clip upper, boxrule=2pt, 
    left=0pt, top=0pt, bottom=0pt, right=0pt, boxsep=0pt, 
    before upper={\begin{tabular}{p{3cm}m{1.5cm}}\multirow{2}{*}{Exercice~\thetcbcounter}&
         \cellcolor{cyan}\textcolor{white}{#1}\\ & \cellcolor{black!50!white}\textcolor{white}{\scriptsize #2}},
    after upper={\end{tabular}},
}

\begin{document}

\exercicebox{1\iere}{\faStar\faStar\faStarO}{}

\exercicebox{2\ieme}{\faStar\faStar\faStar\faStarO}{}

\end{document}

在此处输入图片描述

答案2

谢谢如何定义 tcolorbox 的内边距?,这是我的主要问题的解决方案:

\documentclass[12pt, english, french]{article}
\usepackage{babel}
\frenchsetup{og=«, fg=»}
\usepackage{fontspec}
\setmainfont{Erewhon}
\setsansfont[Scale=MatchLowercase]{Cabin}
\setmonofont[Scale=MatchLowercase,HyphenChar=None]{Inconsolatazi4}
\usepackage[most]{tcolorbox}
\usepackage{array, colortbl, fourier-otf, fontawesome, multicol, multirow, xcolor}

\begin{document}

\tcbox[enhanced,clip upper, left=0ex, right=0ex, top=0ex, bottom=0ex, boxsep=0pt, boxrule=2pt]
{\begin{tabular}{p{3cm}m{1.5cm}}
        \multirow{2}{*}{Exercice 17}     & \cellcolor{cyan}\textcolor{white}{1\iere} \\
%        \cline{2-2}
        & \cellcolor{black!50!white}\textcolor{white}{\scriptsize \faStar\faStar\faStarO}
\end{tabular}}
    
\end{document}

上面代码的结果如下: 在此处输入图片描述

对于定位问题,使用 \raisebox 就足够了,尽管它相当丑陋。

相关内容