Me gustaría agregar la clave hbox
a todos mis tcolorbox
es.
No tuve éxito al incluirlo en mi archivo tcbset
, entonces, ¿qué otras opciones tengo a mi disposición para hacerlo?
\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 capture
modo 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=hbox
por 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 \newtcolorbox
para definir un tcolorbox personalizado que se haya hbox
configurado 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: