tcolorbox에 자동으로 Capture=hbox 추가

tcolorbox에 자동으로 Capture=hbox 추가

hbox모든 es에 키를 추가하고 싶습니다 tcolorbox.

내 에 포함시켜서 성공하지 못했습니다 tcbset. 그렇다면 이 작업을 완료하기 위해 사용할 수 있는 다른 옵션은 무엇입니까?

http://i.imgur.com/RCqybV8.png?1

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\tcbset{capture=hbox}
\begin{document}
\begin{tcolorbox}
Why does this stretch across \verb|\linewidth|. :-(
\end{tcolorbox}
\begin{tcolorbox}[hbox]
Correct result
\end{tcolorbox}
\end{document}

답변1

capture모드는 에 의해 전역 변경으로부터 특별히 보호됩니다 \tcbset.

@Andrew는 나 역시 같은 것을 제안합니다. 사용자 정의를 사용해야 합니다 tcolorbox.

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1][]{capture=hbox,#1}
\begin{document}
\begin{mybox}
This is some text in a box
\end{mybox}
\begin{mybox}
Correct result
\end{mybox}
\end{document}

만약 당신이 정말로,정말,정말캡처 모드를 변경하려면 다음 코드를 사용하면 됩니다.

다음 코드는 단지 데모용입니다. 이는 향후 버전에서 예고 없이 변경될 수 있는 문서화되지 않은 내부 매크로를 사용합니다. 또한, 전역 설정은 capture=hbox원칙적으로 권장되지 않습니다.

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\makeatletter
\tcbset@late@options{capture=hbox}% you are discouraged to use this code
\makeatother
\begin{document}
\begin{tcolorbox}
This is some text in a box
\end{tcolorbox}
\begin{tcolorbox}
Correct result
\end{tcolorbox}
\end{document}

답변2

기본적으로 설정된 \newtcolorbox사용자 정의 tcolorbox를 정의하는 데 사용하면 어떨까요 ?hbox

\documentclass[twoside]{article}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1][]{hbox,#1}% allow user to add custom options, with hbox as default
\begin{document}
  \begin{mybox}
    Why does this stretch across \verb|\linewidth|. :-(
  \end{mybox}
  \begin{mybox}[hbox]
  Correct result
  \end{mybox}
\end{document}

새로운 tcolorbox를 사용하면 원하는 것을 얻을 수 있습니다.

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

관련 정보