Anexar automaticamente capture=hbox em tcolorbox

Anexar automaticamente capture=hbox em tcolorbox

Eu gostaria de anexar a chave hboxa todos os meus tcolorboxes.

Não tive sucesso ao incluí-lo em meu arquivo tcbset. Então, que outras opções tenho à minha disposição para fazer isso?

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}

Responder1

O capturemodo é especificamente protegido contra mudanças globais pelo \tcbset.

@Andrew sugere a mesma coisa que eu também faria: deve-se usar um custom 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}

Se você realmente,realmente,realmentequiser alterar o modo de captura, você pode fazer isso com o código a seguir.

O código a seguir é apenas para demonstração. Ele usa macros internas não documentadas que podem mudar sem aviso prévio em versões futuras. Além disso, a configuração global capture=hboxé desencorajada por princípio.

\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}

Responder2

Por que não usar \newtcolorboxpara definir um tcolorbox personalizado que foi hboxdefinido por padrão:

\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}

Usar o novo tcolorbox dá o que você deseja:

insira a descrição da imagem aqui

informação relacionada