내부에 색상이나 기타 그리기 코드가 포함되어 있지 않아 그 뒤에 있는 색상이 무엇이든 표시하는 깨지기 쉬운 tcolorbox를 정의하고 싶습니다.tcolorbox
라이브러리에는 내부 그림을 제어하는 옵션이 있지만 이 키와 해당 키 사이의 상호 작용을 이해하는 데 어려움 을 skins
겪었 습니다 . 이전 키는 내부에 아무 작업도 수행하지 않고 상자 내용물 주변의 프레임을 인쇄할 것으로 기대하지만 대신 상자는 어두운 회색 배경으로 인쇄됩니다.interior empty
interior hidden
frame empty
frame hidden
에서이 답변frame empty
, 두 가지를 모두 설정 한 interior empty
다음 로 프레임을 그려서 이 문제를 해결할 수 있다는 것을 알았습니다 borderline
. 이것은 깨지지 않은 상자에 작동하지만 상자가 깨지면 frame empty
및 interior empty
키가 무시되고 tcolorbox 기본값이 적용되는 것 같습니다.
\documentclass{article}
\usepackage[skins,breakable]{tcolorbox}
\usepackage{kantlipsum}
\pagecolor{yellow!10}
\tcbset{enhanced}
\begin{document}
\begin{tcolorbox}[
interior empty
]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\begin{tcolorbox}[
interior empty,
frame empty % don't want hidden frame
]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\begin{tcolorbox}[
interior hidden
]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\begin{tcolorbox}[
interior hidden,
frame hidden, % don't want hidden frame
]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\begin{tcolorbox}[
frame empty,
interior empty,
borderline={1pt}{0pt}{},
]
This is a \textbf{tcolorbox}.
\end{tcolorbox}
\begin{tcolorbox}[
breakable,
frame empty,
interior empty,
borderline={1pt}{0pt}{},
]
This is a \textbf{tcolorbox}.
\kant[1-3]
\end{tcolorbox}
\end{document}
"프레임"과 "인테리어"가 실제로 무엇을 의미하는지 오해하고 있는 것 같습니다. 하지만 내부가 비어 있는 깨질 수 있는 tcolorbox를 만드는 방법이 있습니까?
편집하다
samcarter_is_at_topanswers.xyz가 주석에서 지적했듯이 "프레임"은 상자 주위에 그려진 선이 아니라 상자 뒤에 채워진 직사각형입니다. 이것은 interior empty
및 의 출력을 설명합니다 interior hidden
.
나는 또한 일반적으로 다음 과 breakable
잘 상호 작용하지 않는다는 것을 발견했습니다.frame empty
interior empty
\begin{tcolorbox}[
breakable,
interior empty,
frame empty
]
This is a \textbf{tcolorbox}.
\kant[1-5]
\end{tcolorbox}
파손되면 프레임과 내부 기본값이 재설정됩니다.
상황에 따라 적응하려고 노력 중입니다.이 답변에뮬레이션을 위해thmbox
tcolorbox를 사용하면 미리 설정된 배경색이 아닌 페이지 배경색을 사용할 수 있습니다 white
. 이는 thmbox의 동작이기 때문입니다.
답변1
대답은 문서를 읽는 것입니다 :)
일반적으로 프레임 엔진은 전체 상자 영역을 색상으로 채우고 다른 엔진은 특정 영역을 다른 색상으로 채웁니다. [...] 특정 상자의 경우 더 섬세한 절차가 필요합니다. 예를 들어 상자가 반투명해야 하는 경우 이미 칠해진 영역을 칠하지 않은 상태로 만들 수 없습니다. 따라서 보다 정교한 프레임 엔진에서는 내부 영역과 선택적으로 제목 영역이 칠해지는 프레임에 구멍을 뚫었습니다. 생성된 스킨을 직소 스킨이라고 합니다.
따라서 퍼즐 상자를 사용해야 합니다.
\documentclass{article}
\usepackage{xcolor}
\usepackage{pagecolor}
\pagecolor{yellow}
\usepackage[most]{tcolorbox}
\usepackage{kantlipsum}
\begin{document}
\begin{tcolorbox}[
enhanced jigsaw,
breakable,
opacityback=0,
]
This is a \textbf{tcolorbox}.
\kant[1-5]
\end{tcolorbox}
\end{document}
답변2
실제로 tcolorbox를 투명하게 만드는 대신 다음과 같이 만들 수 있습니다.바라보다페이지와 같은 색상으로 색칠하여 투명하게 만듭니다.
\documentclass{article}
\usepackage{xcolor}
\usepackage[skins,breakable]{tcolorbox}
\usepackage{kantlipsum}
\usepackage{pagecolor}
\pagecolor{yellow}
\tcbset{enhanced}
\begin{document}
\begin{tcolorbox}[
breakable,
colback=\thepagecolor
]
This is a \textbf{tcolorbox}.
\kant[1-5]
\end{tcolorbox}
\end{document}
답변3
및 와 함께 제공되면 예상대로 작동하지 않지만 frame empty
키 에 제공되면 작동합니다 . 이런 식으로 우리는 프레임을 가짜로 만들 수 있습니다 .interior empty
breakable
extras
borderline
\documentclass{article}
\usepackage[skins,breakable]{tcolorbox}
\usepackage{kantlipsum}
\pagecolor{yellow!10}
\begin{document}
\begin{tcolorbox}[
breakable,
extras={frame empty,interior empty},
borderline={1pt}{0pt}{}
]
This is a \textbf{tcolorbox}.
\kant[1-5]
\end{tcolorbox}
\end{document}
답변4
상황에 따라 적응하려고 노력 중입니다.이 답변에뮬레이션을 위해
thmbox
tcolorbox를 사용하면 미리 설정된 배경색이 아닌 페이지 배경색을 사용할 수 있습니다white
. 이는 thmbox의 동작이기 때문입니다.
당신이 필요한 것 같습니다
\tcbset{
thmbox/.style={
% ...
% colback=white,
% colframe=white,
% colbacktitle=white,
%% in order to imitate effect of "enhanced jigsaw, boxrule=0pt"
frame engine=empty,
interior titled engine=empty,
interior engine=empty,
extras broken={
frame engine=empty,
interior titled engine=empty,
interior engine=empty
},
% ...
}
}
링크된 내용을 기반으로 한 전체 예@Ignasi의 답변:
\documentclass{article}
\usepackage{amssymb}
\usepackage{lipsum}
\usepackage{tcolorbox}
\tcbuselibrary{breakable, skins, theorems}
\pagecolor{yellow!10}
\tcbset{
thmbox/.style={
breakable,
enhanced,
sharp corners=all,
fonttitle=\bfseries\normalsize,
fontupper=\normalsize\itshape,
top=0mm,
bottom=0mm,
right=0mm,
% colback=white,
% colframe=white,
% colbacktitle=white,
%% in order to imitate effect of "enhanced jigsaw, boxrule=0pt".
%% or put the following three lines in "extras unbroken={...}"
frame engine=empty,
interior titled engine=empty,
%% every theorem has a title, so this is just for completeness
interior engine=empty,
extras broken={
frame engine=empty,
interior titled engine=empty,
interior engine=empty
},
coltitle=black,
attach boxed title to top left,
boxed title style={empty, size=minimal, bottom=1.5mm},
overlay unbroken ={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)|-%
(frame.south east)--(frame.north east);},
overlay first={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);
\draw (frame.north east)--(frame.south east);},
overlay middle={
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);
\draw (frame.north east)--(frame.south east);},
overlay last={
\draw ([xshift=3.5mm]frame.north west)|-%
(frame.south east)--(frame.north east);},
},
S/.style={thmbox,
overlay unbroken ={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay first={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay middle={
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay last={
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
},
L/.style={thmbox,
overlay unbroken ={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)|-([xshift=15mm]frame.south west);},
overlay first={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay middle={
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay last={
\draw ([xshift=3.5mm]frame.north west)|-([xshift=15mm]frame.south west);},
},
LQ/.style={thmbox,
overlay unbroken ={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)|-([xshift=15mm]frame.south west);
\node[anchor=east] at (frame.south east) {$\square$};},
overlay first={
\draw (title.south west)--(title.south east);
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay middle={
\draw ([xshift=3.5mm]frame.north west)--([xshift=3.5mm]frame.south west);},
overlay last={
\draw ([xshift=3.5mm]frame.north west)|-([xshift=15mm]frame.south west);
\node[anchor=east] at (frame.south east) {$\square$};},
},
}
\newtcbtheorem[]{tcbthmbox}{Theorem}{thmbox}{theo}
\newtcbtheorem[]{tcbSthmbox}{Theorem}{thmbox,S}{theo}
\newtcbtheorem[]{tcbLthmbox}{Theorem}{thmbox,L}{theo}
\newtcbtheorem[]{proof}{Démonstration}{thmbox,LQ}{theo}
\begin{document}
\begin{tcbthmbox}{First result}{}
\lipsum[3]
\end{tcbthmbox}
\begin{tcbSthmbox}{Important}{}
\lipsum[2]
\end{tcbSthmbox}
\begin{tcbLthmbox}{Final}{}
\lipsum[1]
\end{tcbLthmbox}
\begin{proof}{Proof}{}
\lipsum[1]
\end{proof}
\end{document}