tcolorbox의 다른 옵션 이후에 옵션이 작동하지 않습니다.

tcolorbox의 다른 옵션 이후에 옵션이 작동하지 않습니다.

로 뭔가를 조판하고 싶습니다 tcolorbox. 기본적으로 상자에는 배경색이 없어야 합니다(옵션에 따라 blank). 그런 다음 Exp 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나는 one과 not이라는 두 개의 다른 상자를 정의하는 것이 더 낫다고 생각합니다 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}

여기에 이미지 설명을 입력하세요

관련 정보