Ich möchte den Schlüssel hbox
an alle meine tcolorbox
es anhängen.
Es ist mir nicht gelungen, es in mein aufzunehmen tcbset
. Welche anderen Möglichkeiten stehen mir also zur Verfügung, um es zu erledigen?
\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}
Antwort1
Der capture
Modus ist durch speziell vor globalen Änderungen geschützt \tcbset
.
@Andrew schlägt dasselbe vor, was ich auch tun würde: Man sollte ein benutzerdefiniertes verwenden 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}
Wenn du wirklich,Wirklich,WirklichWenn Sie den Aufnahmemodus ändern möchten, können Sie dies mit dem folgenden Code tun.
Der folgende Code dient nur zur Demonstration. Er verwendet interne, nicht dokumentierte Makros, die sich in zukünftigen Versionen ohne Vorankündigung ändern können. Außerdem
capture=hbox
wird grundsätzlich von globalen Einstellungen abgeraten.
\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}
Antwort2
Warum nicht \newtcolorbox
eine benutzerdefinierte Farbbox definieren, die hbox
standardmäßig Folgendes festlegt:
\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}
Die Verwendung der neuen Tcolorbox liefert das gewünschte Ergebnis: