tcolorbox 中的一些其他選項之後選項不起作用

tcolorbox 中的一些其他選項之後選項不起作用

我想用 排版一些東西tcolorbox。預設情況下,該框應該沒有背景顏色(透過選項blank)。然後在實驗2中,需要一個背景顏色為紅色的框,但這個選項colback=red不起作用。後一個選項不優先於前一個選項嗎?

為什麼?以及如何讓它發揮作用?

\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\usepackage[most]{tcolorbox}

\newcommand\test[2][]{
  \begin{tcolorbox}[blank,#1]
    #2
  \end{tcolorbox}
}

\begin{document}
% Exp 1.
\test{no backgroud color as expected}
% Exp 2.
\test[colback=red]{backgroud color of red is wanted, but not work}
\end{document}

答案1

colback鍵僅定義一種顏色,但如blank您給出不繪製背景的指令一樣,不會使用顏色。相反,您必須更改interior style

\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\usepackage[most]{tcolorbox}

\newcommand\test[2][]{
  \begin{tcolorbox}[blank,#1]
    #2
  \end{tcolorbox}
}

\begin{document}
% Exp 1.
\test{no background color as expected}
% Exp 2.
\test[interior style={fill=red}]{background color of red is wanted}
\end{document}

在此輸入影像描述

答案2

在 tbcolorbox 的文檔中

在此輸入影像描述

使用可選的空白即可工作

\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\usepackage[most]{tcolorbox}
\ExplSyntaxOn
\NewDocumentCommand \test { O{blank} +m}
{
    \begin{tcolorbox}[#1]
        #2
    \end{tcolorbox}
}
\ExplSyntaxOff

\begin{document}
% Exp 1.
\test{no backgroud color as expected}
% Exp 2.
\test[colback=red]{backgroud color of red is wanted, but not work}
\end{document}

答案3

我認為最好定義兩個不同的框,一個blank和一個blank,但如果你堅持test命令,你可以定義兩種不同的樣式並在任何情況下使用方便的。

\documentclass{article}
\usepackage{geometry}
\geometry{showframe}
\usepackage[most]{tcolorbox}

\tcbset{
    blankbox/.style={
        blank, #1},
    redbox/.style={
        colback=red!80, #1}
}

\newcommand\test[2][]{
  \begin{tcolorbox}[#1]
    #2
  \end{tcolorbox}
}

\begin{document}
% Exp 1.
\test[blankbox]{no backgroud color as expected}
% Exp 2.
\test[redbox={colframe=blue}]{backgroud color of red is wanted, but not work}
\end{document}

在此輸入影像描述

相關內容