
로 뭔가를 조판하고 싶습니다 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}