Agregar automáticamente capture=hbox en tcolorbox

Agregar automáticamente capture=hbox en tcolorbox

Me gustaría agregar la clave hboxa todos mis tcolorboxes.

No tuve éxito al incluirlo en mi archivo tcbset, entonces, ¿qué otras opciones tengo a mi disposición para hacerlo?

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}

Respuesta1

El capturemodo está específicamente protegido contra cambios globales por \tcbset.

@Andrew sugiere lo mismo que yo también haría: uno debería usar un personalizado 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}

Si tú realmente,en realidad,en realidadSi desea cambiar el modo de captura, puede hacerlo mediante el siguiente código.

El siguiente código es sólo para demostración. Utiliza macros internas no documentadas que pueden cambiar sin previo aviso en versiones futuras. Además, capture=hboxpor principio se desaconseja la configuración global.

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

Respuesta2

¿Por qué no utilizarlo \newtcolorboxpara definir un tcolorbox personalizado que se haya hboxconfigurado de forma predeterminada?

\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 el nuevo tcolorbox te da lo que deseas:

ingrese la descripción de la imagen aquí

información relacionada